#include "suite_stubs.h"

static enum test_result test_add_add_add_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_add_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_add_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_add_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_add_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_add_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_add_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_add_set(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_append_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_append_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_append_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_append_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_append_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_append_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_append_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_append_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_append_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_decr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_decr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_decr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_decr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_decr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_decr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delay_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delay_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delay_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delay_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delay_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delay_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delay_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delay_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delay_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delete_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delete_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delete_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delete_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delete_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delete_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delete_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_delete_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_delete_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_flush_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_flush_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_flush_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_flush_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_flush_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_flush_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_flush_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_flush_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_flush_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_incr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_incr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_incr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_incr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_incr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_incr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_incr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_add_incr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_add_incr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_prepend_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_prepend_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_prepend_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_prepend_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_set_add(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_set_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_add_set_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_add_set_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_set_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_set_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_add_set_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_add_set_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_add_set_set(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_append_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_append_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_append_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_append_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_append_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_decr_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decr_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decr_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decr_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decr_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decr_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delay_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delay_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delay_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delay_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delay_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delay_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delay_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delete_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delete_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_delete_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_delete_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_delete_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_delete_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_delete_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_flush_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_flush_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_flush_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_flush_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_flush_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_flush_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_flush_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incr_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incr_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_incr_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_add_incr_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_add_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incr_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_incr_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incr_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incr_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incr_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_incr_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_prepend_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_prepend_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_add_add(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_add_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_add_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_add_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_add_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_add_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_add_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_add_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_add_set(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_append_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_append_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_append_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_append_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_append_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_append_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_append_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_append_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_append_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_decr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_decr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_decr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_decr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_decr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_decr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delay_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delay_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delay_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delay_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delay_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delay_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delay_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delay_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delay_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delete_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delete_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delete_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delete_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delete_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delete_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delete_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_delete_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_delete_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_flush_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_flush_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_flush_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_flush_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_flush_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_flush_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_flush_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_flush_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_flush_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_incr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_incr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_incr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_incr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_incr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_incr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_incr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_set_incr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_set_incr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_add_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_prepend_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_prepend_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_prepend_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_prepend_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_set_add(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_set_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_add_set_set_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_add_set_set_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_set_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_set_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_add_set_set_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_add_set_set_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_add_set_set_set(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_add_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_add_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_add_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_add_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_add_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_add_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_add_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_append_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_append_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delete_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_append_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_append_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_append_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_append_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_append_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decr_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decr_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decr_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decr_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decr_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decr_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decr_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delay_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delay_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delay_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delay_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delay_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delay_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delay_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delete_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delete_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_append_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delete_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_delete_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_delete_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_delete_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_delete_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_delete_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_flush_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_flush_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_flush_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_flush_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_flush_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_flush_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_flush_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incr_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incr_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incr_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incr_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incr_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incr_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incr_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_add_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_add_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_add_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_prepend_add_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_append_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_append_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_append_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_append_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_append_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_append_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_append_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_append_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_append_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delay_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_delete_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_flush_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_add(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_append(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_prepend_set(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_set_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_set_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_prepend_set_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_prepend_set_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_set_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_set_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_append_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_append_set_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_append_set_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_append_set_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_append_set_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_append_set_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_add_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_add_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_add_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_add_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_add_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_add_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_append_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_append_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_append_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_append_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_append_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_append_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_append_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decr_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decr_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decr_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delay_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delay_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delay_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delete_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_delete_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_delete_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_flush_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_flush_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_flush_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incr_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incr_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incr_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_prepend_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_set_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decr_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decr_set_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decr_set_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decr_set_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decr_set_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decr_set_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_add_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_append_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decr_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delay_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_delete_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_flush_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incr_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_add_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_append_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delay_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_delete_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_flush_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_add(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_append(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_prepend_set(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_prepend_set_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_decrWithDefault_set_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_add_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_add_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_add_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_add_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_add_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_add_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_append_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_append_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_append_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_append_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_append_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_append_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_append_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decr_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decr_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decr_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delay_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delay_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delay_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delete_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_delete_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_delete_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_flush_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_flush_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_flush_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incr_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incr_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incr_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_prepend_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_set_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delay_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delay_set_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delay_set_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delay_set_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delay_set_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delay_set_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_add_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_add_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_add_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_add_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_add_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_add_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_append_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_append_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_append_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delete_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_append_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_append_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_append_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_append_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_append_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decr_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decr_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decr_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delay_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delay_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delay_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delete_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_append_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_delete_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_delete_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_flush_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_flush_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_flush_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incr_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incr_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incr_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_add_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_append_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delay_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_delete_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_flush_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_add(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_append(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_prepend_set(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_prepend_set_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_set_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_delete_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_delete_set_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_delete_set_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_delete_set_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_delete_set_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_delete_set_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_add_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_add_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_add_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_add_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_add_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_add_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_append_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_append_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_append_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_append_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_append_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_append_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_append_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decr_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decr_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decr_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delay_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delay_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delay_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delete_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_delete_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_delete_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_flush_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_flush_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_flush_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incr_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incr_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incr_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_prepend_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_set_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_flush_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_flush_set_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_flush_set_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_flush_set_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_flush_set_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_flush_set_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_add_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_add_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_add_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_add_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_add_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_add_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_append_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_append_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_append_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_append_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_append_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_append_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_append_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decr_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decr_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decr_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delay_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delay_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delay_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delete_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_delete_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_delete_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_flush_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_flush_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_flush_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incr_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incr_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incr_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_prepend_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_set_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incr_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incr_set_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incr_set_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incr_set_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incr_set_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incr_set_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_add_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_append_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decr_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delay_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_add_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_append_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delay_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_delete_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_flush_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incr_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_prepend_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_delete_set_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_add_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_append_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delay_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_delete_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_flush_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incr_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_prepend_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_flush_set_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_add_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_append_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delay_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_delete_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_flush_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incr_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_prepend_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incr_set_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_add_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_append_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delay_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_delete_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_flush_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_add(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_append(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_prepend_set(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_prepend_set_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_incrWithDefault_set_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_add_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_add_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_add_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_add_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_add_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_add_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_append_add_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_append_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_append_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_append_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_append_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_append_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_append_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_append_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_append_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_append_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delay_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_delete_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_flush_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_add(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_append(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_decr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_delay(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_delete(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_flush(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_incr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_prepend(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_prepend_set(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_set_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_set_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_append_set_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_append_set_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decr_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delay_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_add_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_append_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delay_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_delete_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_flush_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incr_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_add(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_append(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_decr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_delay(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_delete(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_flush(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_incr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_prepend_set(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_delete_set_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_add_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_append_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delay_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_delete_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_flush_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incr_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_prepend_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_flush_set_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_add_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_append_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delay_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_delete_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_flush_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incr_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_prepend_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incr_set_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_add_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_add(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_append(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_decr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_delay(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_delete(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_flush(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_incr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_prepend(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_append_set(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decr_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delay_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_add(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_append(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_decr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_delay(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_delete(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_flush(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_incr(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_delete_set(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_add(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_append(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_decr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_delay(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_delete(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_flush(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_incr(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_flush_set(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_add(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_append(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_decr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_delay(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_delete(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_flush(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_incr(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incr_set(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_prepend_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_prepend_set_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_set_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_prepend_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_prepend_set_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_prepend_set_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_add_add(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_add_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_add_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_add_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_add_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_add_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_add_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_add_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_add_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_add_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_add_set(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_append_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_append_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_append_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_append_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_append_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_append_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_append_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_append_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_append_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_append_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_append_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_decr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_decr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_decr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_decr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_decr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_decr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_decrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delay_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delay_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delay_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delay_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delay_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delay_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delay_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delay_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delay_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delete_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delete_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delete_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delete_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delete_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delete_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delete_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_delete_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_delete_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_flush_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_flush_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_flush_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_flush_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_flush_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_flush_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_flush_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_flush_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_flush_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_incr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_incr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_incr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_incr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_incr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_incr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_incr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_add_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_add_incr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_add_incr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_add_incrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_prepend_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_prepend_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_prepend_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_prepend_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_set_add(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_set_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_add_set_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_set_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_add_set_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_set_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_set_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_add_set_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_set_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_add_set_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_add_set_set(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_append_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_append_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_append_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_append_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_append_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_append_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_decr_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_decr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decr_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decr_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decr_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decr_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decr_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_decrWithDefault_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delay_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delay_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delay_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delay_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delay_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delay_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delay_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delay_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delay_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_add_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_add_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delete_add_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_add_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_add_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_add_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_add_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_add_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_add_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_add_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delete_add_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_append_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_append_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_append_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_append_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_append_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_append_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_append_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_append_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_append_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_append_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_append_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delete_decrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delay_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delay_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delay_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delay_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delay_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delay_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delay_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delay_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delay_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delete_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delete_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delete_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delete_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delete_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delete_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delete_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_delete_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_delete_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_flush_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_flush_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_flush_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_flush_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_flush_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_flush_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_flush_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_flush_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_flush_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incr_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incr_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incr_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incr_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incr_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incr_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incr_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incr_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incr_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delete_incrWithDefault_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_prepend_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_set_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_set_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_delete_set_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_set_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_delete_set_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_set_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_set_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_delete_set_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_set_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_delete_set_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_delete_set_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_add_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_add_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_flush_add_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_add_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_add_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_add_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_add_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_add_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_add_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_add_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_flush_add_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_append_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_append_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_append_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_append_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_append_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_append_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_append_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_append_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_append_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_append_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_append_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_flush_decrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delay_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delay_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delay_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delay_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delay_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delay_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delay_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delay_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delay_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delete_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delete_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delete_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delete_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delete_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delete_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delete_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_delete_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_delete_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_flush_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_flush_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_flush_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_flush_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_flush_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_flush_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_flush_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_flush_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_flush_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incr_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incr_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incr_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incr_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incr_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incr_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incr_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incr_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incr_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_flush_incrWithDefault_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_prepend_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_set_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_set_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_flush_set_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_set_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_flush_set_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_set_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_set_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_flush_set_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_set_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_flush_set_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_flush_set_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_add_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_add_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_add_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_add_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_add_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_add_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_add_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_add_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incr_add_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incr_add_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incr_add_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_append_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_append_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_append_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_append_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_append_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_append_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_append_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_append_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_append_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_append_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_append_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_decr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_decr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_decr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_incr_decr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_incr_decrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delay_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delay_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delay_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delay_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delay_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delay_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delay_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delay_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delay_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delete_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delete_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delete_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delete_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delete_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delete_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delete_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_delete_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_delete_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_flush_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_flush_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_flush_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_flush_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_flush_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_flush_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_flush_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_flush_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_flush_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_incr_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_incr_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_incr_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_set_incr_incr_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_set_incr_incrWithDefault_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incr_prepend_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_set_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_set_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_incr_set_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_set_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incr_set_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_set_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_set_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incr_set_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_set_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incr_set_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_incr_set_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_add_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    add(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix-suffix"
    checkValue(h, h1, "1-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incr(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_append_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_decrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delay_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_add(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_append(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_decr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_delay(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_delete(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_flush(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_incr(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_prepend(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_delete_set(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_add(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_append(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_decr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_delay(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_delete(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_flush(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_incr(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_prepend(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_flush_set(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_add(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_append(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_decr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_delay(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_delete(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_flush(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_incr(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_prepend(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incr_set(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_add(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    add(h, h1);
    assertHasError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    append(h, h1);
    assertHasNoError(); // value is "2-suffix"
    checkValue(h, h1, "2-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incr(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "3"
    checkValue(h, h1, "3");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-2"
    checkValue(h, h1, "prefix-2");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_incrWithDefault_set(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    add(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    append(h, h1);
    assertHasNoError(); // value is "prefix-1-suffix"
    checkValue(h, h1, "prefix-1-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incr(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-1"
    checkValue(h, h1, "prefix-prefix-1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_prepend_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_incrWithDefault_set_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_add_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_add_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_add_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_add_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    add(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix-suffix"
    checkValue(h, h1, "prefix-0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_append_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_append_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_append_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incr(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_append_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_decrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delay_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_add(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_append(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_decr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_delay(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_delete(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_flush(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_incr(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_prepend(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_delete_set(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_add(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_append(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_decr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_delay(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_delete(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_flush(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_incr(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_prepend(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_flush_set(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_add(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_append(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_decr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_delay(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_delete(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_flush(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_incr(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_prepend(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incr_set(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_add(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_append(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_incrWithDefault_set(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_add(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_append(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0-suffix"
    checkValue(h, h1, "prefix-prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_decr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_delay(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_delete(ENGINE_HANDLE *h,
                                                        ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_flush(ENGINE_HANDLE *h,
                                                       ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_incr(ENGINE_HANDLE *h,
                                                      ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_prepend(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_prepend_set(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_set_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_set_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_prepend_set_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_prepend_set_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_add_add(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_add_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_add_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_add_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_add_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_add_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_add_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_add_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_add_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_add_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_add_set(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_append_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    add(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_append_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix-suffix"
    checkValue(h, h1, "0-suffix-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_append_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_append_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    decrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_append_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_append_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_append_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_append_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incr(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_append_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    incrWithDefault(h, h1);
    assertHasError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_append_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_append_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_decr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_decr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_decr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_decr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_decr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_decr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_decr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_decrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delay_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delay_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delay_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delay_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delay_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delay_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delay_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delay_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delay_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delay_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delay_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delete_add(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delete_append(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delete_decr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delete_decrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delete_delay(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delete_delete(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delete_flush(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delete_incr(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delete_incrWithDefault(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_delete_prepend(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_delete_set(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_flush_add(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    add(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_flush_append(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    append(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_flush_decr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_flush_decrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_flush_delay(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_flush_delete(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    del(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_flush_flush(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_flush_incr(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incr(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_flush_incrWithDefault(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_flush_prepend(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    prepend(h, h1);
    assertHasError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_flush_set(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_incr_add(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_incr_append(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_incr_decr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_incr_decrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_incr_delay(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_incr_delete(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_incr_flush(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_incr_incr(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_set_incr_incrWithDefault(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_set_incr_prepend(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_set_incr_set(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_add(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    add(h, h1);
    assertHasError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_append(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    append(h, h1);
    assertHasNoError(); // value is "1-suffix"
    checkValue(h, h1, "1-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_decr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_decrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_delay(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_delete(ENGINE_HANDLE *h,
                                                            ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_flush(ENGINE_HANDLE *h,
                                                           ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_incr(ENGINE_HANDLE *h,
                                                          ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incr(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_incrWithDefault(ENGINE_HANDLE *h,
                                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "2"
    checkValue(h, h1, "2");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_prepend(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-1"
    checkValue(h, h1, "prefix-1");
    return SUCCESS;
}

static enum test_result test_set_set_incrWithDefault_set(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_add(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    add(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_append(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    append(h, h1);
    assertHasNoError(); // value is "prefix-0-suffix"
    checkValue(h, h1, "prefix-0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_decr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_decrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    decrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_delay(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_prepend_delete(ENGINE_HANDLE *h,
                                                    ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_prepend_flush(ENGINE_HANDLE *h,
                                                   ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_prepend_incr(ENGINE_HANDLE *h,
                                                  ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incr(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_incrWithDefault(ENGINE_HANDLE *h,
                                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    incrWithDefault(h, h1);
    assertHasError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_prepend(ENGINE_HANDLE *h,
                                                     ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-prefix-0"
    checkValue(h, h1, "prefix-prefix-0");
    return SUCCESS;
}

static enum test_result test_set_set_prepend_set(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_set_add(ENGINE_HANDLE *h,
                                             ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    add(h, h1);
    assertHasError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_set_append(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    append(h, h1);
    assertHasNoError(); // value is "0-suffix"
    checkValue(h, h1, "0-suffix");
    return SUCCESS;
}

static enum test_result test_set_set_set_decr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decr(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_set_decrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    decrWithDefault(h, h1);
    assertHasNoError(); // value is "0"
    checkValue(h, h1, "0");
    return SUCCESS;
}

static enum test_result test_set_set_set_delay(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    delay(expiry+1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_set_delete(ENGINE_HANDLE *h,
                                                ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    del(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_set_flush(ENGINE_HANDLE *h,
                                               ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    flush(h, h1);
    assertHasNoError(); // value is not defined
    assertNotExists(h, h1);
    return SUCCESS;
}

static enum test_result test_set_set_set_incr(ENGINE_HANDLE *h,
                                              ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incr(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_set_incrWithDefault(ENGINE_HANDLE *h,
                                                         ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    incrWithDefault(h, h1);
    assertHasNoError(); // value is "1"
    checkValue(h, h1, "1");
    return SUCCESS;
}

static enum test_result test_set_set_set_prepend(ENGINE_HANDLE *h,
                                                 ENGINE_HANDLE_V1 *h1) {
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    set(h, h1);
    assertHasNoError(); // value is "0"
    prepend(h, h1);
    assertHasNoError(); // value is "prefix-0"
    checkValue(h, h1, "prefix-0");
    return SUCCESS;
}

MEMCACHED_PUBLIC_API
engine_test_t* get_tests(void) {

    static engine_test_t tests[]  = {

        {"add, add, add, append",
         test_add_add_add_append,
         test_setup, teardown, NULL},
        {"add, add, add, decr",
         test_add_add_add_decr,
         test_setup, teardown, NULL},
        {"add, add, add, decrWithDefault",
         test_add_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, add, delay",
         test_add_add_add_delay,
         test_setup, teardown, NULL},
        {"add, add, add, delete",
         test_add_add_add_delete,
         test_setup, teardown, NULL},
        {"add, add, add, flush",
         test_add_add_add_flush,
         test_setup, teardown, NULL},
        {"add, add, add, incr",
         test_add_add_add_incr,
         test_setup, teardown, NULL},
        {"add, add, add, incrWithDefault",
         test_add_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, add, prepend",
         test_add_add_add_prepend,
         test_setup, teardown, NULL},
        {"add, add, add, set",
         test_add_add_add_set,
         test_setup, teardown, NULL},
        {"add, add, append, add",
         test_add_add_append_add,
         test_setup, teardown, NULL},
        {"add, add, append, append",
         test_add_add_append_append,
         test_setup, teardown, NULL},
        {"add, add, append, decr",
         test_add_add_append_decr,
         test_setup, teardown, NULL},
        {"add, add, append, decrWithDefault",
         test_add_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, append, delay",
         test_add_add_append_delay,
         test_setup, teardown, NULL},
        {"add, add, append, delete",
         test_add_add_append_delete,
         test_setup, teardown, NULL},
        {"add, add, append, flush",
         test_add_add_append_flush,
         test_setup, teardown, NULL},
        {"add, add, append, incr",
         test_add_add_append_incr,
         test_setup, teardown, NULL},
        {"add, add, append, incrWithDefault",
         test_add_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, append, prepend",
         test_add_add_append_prepend,
         test_setup, teardown, NULL},
        {"add, add, append, set",
         test_add_add_append_set,
         test_setup, teardown, NULL},
        {"add, add, decr, add",
         test_add_add_decr_add,
         test_setup, teardown, NULL},
        {"add, add, decr, append",
         test_add_add_decr_append,
         test_setup, teardown, NULL},
        {"add, add, decr, decr",
         test_add_add_decr_decr,
         test_setup, teardown, NULL},
        {"add, add, decr, decrWithDefault",
         test_add_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, decr, delay",
         test_add_add_decr_delay,
         test_setup, teardown, NULL},
        {"add, add, decr, delete",
         test_add_add_decr_delete,
         test_setup, teardown, NULL},
        {"add, add, decr, flush",
         test_add_add_decr_flush,
         test_setup, teardown, NULL},
        {"add, add, decr, incr",
         test_add_add_decr_incr,
         test_setup, teardown, NULL},
        {"add, add, decr, incrWithDefault",
         test_add_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, decr, prepend",
         test_add_add_decr_prepend,
         test_setup, teardown, NULL},
        {"add, add, decr, set",
         test_add_add_decr_set,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, add",
         test_add_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, append",
         test_add_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, decr",
         test_add_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, decrWithDefault",
         test_add_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, delay",
         test_add_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, delete",
         test_add_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, flush",
         test_add_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, incr",
         test_add_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, incrWithDefault",
         test_add_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, prepend",
         test_add_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, add, decrWithDefault, set",
         test_add_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, add, delay, add",
         test_add_add_delay_add,
         test_setup, teardown, NULL},
        {"add, add, delay, append",
         test_add_add_delay_append,
         test_setup, teardown, NULL},
        {"add, add, delay, decr",
         test_add_add_delay_decr,
         test_setup, teardown, NULL},
        {"add, add, delay, decrWithDefault",
         test_add_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, delay, delay",
         test_add_add_delay_delay,
         test_setup, teardown, NULL},
        {"add, add, delay, delete",
         test_add_add_delay_delete,
         test_setup, teardown, NULL},
        {"add, add, delay, flush",
         test_add_add_delay_flush,
         test_setup, teardown, NULL},
        {"add, add, delay, incr",
         test_add_add_delay_incr,
         test_setup, teardown, NULL},
        {"add, add, delay, incrWithDefault",
         test_add_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, delay, prepend",
         test_add_add_delay_prepend,
         test_setup, teardown, NULL},
        {"add, add, delay, set",
         test_add_add_delay_set,
         test_setup, teardown, NULL},
        {"add, add, delete, add",
         test_add_add_delete_add,
         test_setup, teardown, NULL},
        {"add, add, delete, append",
         test_add_add_delete_append,
         test_setup, teardown, NULL},
        {"add, add, delete, decr",
         test_add_add_delete_decr,
         test_setup, teardown, NULL},
        {"add, add, delete, decrWithDefault",
         test_add_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, delete, delay",
         test_add_add_delete_delay,
         test_setup, teardown, NULL},
        {"add, add, delete, delete",
         test_add_add_delete_delete,
         test_setup, teardown, NULL},
        {"add, add, delete, flush",
         test_add_add_delete_flush,
         test_setup, teardown, NULL},
        {"add, add, delete, incr",
         test_add_add_delete_incr,
         test_setup, teardown, NULL},
        {"add, add, delete, incrWithDefault",
         test_add_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, delete, prepend",
         test_add_add_delete_prepend,
         test_setup, teardown, NULL},
        {"add, add, delete, set",
         test_add_add_delete_set,
         test_setup, teardown, NULL},
        {"add, add, flush, add",
         test_add_add_flush_add,
         test_setup, teardown, NULL},
        {"add, add, flush, append",
         test_add_add_flush_append,
         test_setup, teardown, NULL},
        {"add, add, flush, decr",
         test_add_add_flush_decr,
         test_setup, teardown, NULL},
        {"add, add, flush, decrWithDefault",
         test_add_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, flush, delay",
         test_add_add_flush_delay,
         test_setup, teardown, NULL},
        {"add, add, flush, delete",
         test_add_add_flush_delete,
         test_setup, teardown, NULL},
        {"add, add, flush, flush",
         test_add_add_flush_flush,
         test_setup, teardown, NULL},
        {"add, add, flush, incr",
         test_add_add_flush_incr,
         test_setup, teardown, NULL},
        {"add, add, flush, incrWithDefault",
         test_add_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, flush, prepend",
         test_add_add_flush_prepend,
         test_setup, teardown, NULL},
        {"add, add, flush, set",
         test_add_add_flush_set,
         test_setup, teardown, NULL},
        {"add, add, incr, add",
         test_add_add_incr_add,
         test_setup, teardown, NULL},
        {"add, add, incr, append",
         test_add_add_incr_append,
         test_setup, teardown, NULL},
        {"add, add, incr, decr",
         test_add_add_incr_decr,
         test_setup, teardown, NULL},
        {"add, add, incr, decrWithDefault",
         test_add_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, incr, delay",
         test_add_add_incr_delay,
         test_setup, teardown, NULL},
        {"add, add, incr, delete",
         test_add_add_incr_delete,
         test_setup, teardown, NULL},
        {"add, add, incr, flush",
         test_add_add_incr_flush,
         test_setup, teardown, NULL},
        {"add, add, incr, incr",
         test_add_add_incr_incr,
         test_setup, teardown, NULL},
        {"add, add, incr, incrWithDefault",
         test_add_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, incr, prepend",
         test_add_add_incr_prepend,
         test_setup, teardown, NULL},
        {"add, add, incr, set",
         test_add_add_incr_set,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, add",
         test_add_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, append",
         test_add_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, decr",
         test_add_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, decrWithDefault",
         test_add_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, delay",
         test_add_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, delete",
         test_add_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, flush",
         test_add_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, incr",
         test_add_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, incrWithDefault",
         test_add_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, prepend",
         test_add_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, add, incrWithDefault, set",
         test_add_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, add, prepend, add",
         test_add_add_prepend_add,
         test_setup, teardown, NULL},
        {"add, add, prepend, append",
         test_add_add_prepend_append,
         test_setup, teardown, NULL},
        {"add, add, prepend, decr",
         test_add_add_prepend_decr,
         test_setup, teardown, NULL},
        {"add, add, prepend, decrWithDefault",
         test_add_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, prepend, delay",
         test_add_add_prepend_delay,
         test_setup, teardown, NULL},
        {"add, add, prepend, delete",
         test_add_add_prepend_delete,
         test_setup, teardown, NULL},
        {"add, add, prepend, flush",
         test_add_add_prepend_flush,
         test_setup, teardown, NULL},
        {"add, add, prepend, incr",
         test_add_add_prepend_incr,
         test_setup, teardown, NULL},
        {"add, add, prepend, incrWithDefault",
         test_add_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, prepend, prepend",
         test_add_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, add, prepend, set",
         test_add_add_prepend_set,
         test_setup, teardown, NULL},
        {"add, add, set, add",
         test_add_add_set_add,
         test_setup, teardown, NULL},
        {"add, add, set, append",
         test_add_add_set_append,
         test_setup, teardown, NULL},
        {"add, add, set, decr",
         test_add_add_set_decr,
         test_setup, teardown, NULL},
        {"add, add, set, decrWithDefault",
         test_add_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, set, delay",
         test_add_add_set_delay,
         test_setup, teardown, NULL},
        {"add, add, set, delete",
         test_add_add_set_delete,
         test_setup, teardown, NULL},
        {"add, add, set, flush",
         test_add_add_set_flush,
         test_setup, teardown, NULL},
        {"add, add, set, incr",
         test_add_add_set_incr,
         test_setup, teardown, NULL},
        {"add, add, set, incrWithDefault",
         test_add_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, add, set, prepend",
         test_add_add_set_prepend,
         test_setup, teardown, NULL},
        {"add, add, set, set",
         test_add_add_set_set,
         test_setup, teardown, NULL},
        {"add, append, add, add",
         test_add_append_add_add,
         test_setup, teardown, NULL},
        {"add, append, add, append",
         test_add_append_add_append,
         test_setup, teardown, NULL},
        {"add, append, add, decr",
         test_add_append_add_decr,
         test_setup, teardown, NULL},
        {"add, append, add, decrWithDefault",
         test_add_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, add, delay",
         test_add_append_add_delay,
         test_setup, teardown, NULL},
        {"add, append, add, delete",
         test_add_append_add_delete,
         test_setup, teardown, NULL},
        {"add, append, add, flush",
         test_add_append_add_flush,
         test_setup, teardown, NULL},
        {"add, append, add, incr",
         test_add_append_add_incr,
         test_setup, teardown, NULL},
        {"add, append, add, incrWithDefault",
         test_add_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, add, prepend",
         test_add_append_add_prepend,
         test_setup, teardown, NULL},
        {"add, append, add, set",
         test_add_append_add_set,
         test_setup, teardown, NULL},
        {"add, append, append, add",
         test_add_append_append_add,
         test_setup, teardown, NULL},
        {"add, append, append, append",
         test_add_append_append_append,
         test_setup, teardown, NULL},
        {"add, append, append, decr",
         test_add_append_append_decr,
         test_setup, teardown, NULL},
        {"add, append, append, decrWithDefault",
         test_add_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, append, delay",
         test_add_append_append_delay,
         test_setup, teardown, NULL},
        {"add, append, append, delete",
         test_add_append_append_delete,
         test_setup, teardown, NULL},
        {"add, append, append, flush",
         test_add_append_append_flush,
         test_setup, teardown, NULL},
        {"add, append, append, incr",
         test_add_append_append_incr,
         test_setup, teardown, NULL},
        {"add, append, append, incrWithDefault",
         test_add_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, append, prepend",
         test_add_append_append_prepend,
         test_setup, teardown, NULL},
        {"add, append, append, set",
         test_add_append_append_set,
         test_setup, teardown, NULL},
        {"add, append, decr, add",
         test_add_append_decr_add,
         test_setup, teardown, NULL},
        {"add, append, decr, append",
         test_add_append_decr_append,
         test_setup, teardown, NULL},
        {"add, append, decr, decr",
         test_add_append_decr_decr,
         test_setup, teardown, NULL},
        {"add, append, decr, decrWithDefault",
         test_add_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, decr, delay",
         test_add_append_decr_delay,
         test_setup, teardown, NULL},
        {"add, append, decr, delete",
         test_add_append_decr_delete,
         test_setup, teardown, NULL},
        {"add, append, decr, flush",
         test_add_append_decr_flush,
         test_setup, teardown, NULL},
        {"add, append, decr, incr",
         test_add_append_decr_incr,
         test_setup, teardown, NULL},
        {"add, append, decr, incrWithDefault",
         test_add_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, decr, prepend",
         test_add_append_decr_prepend,
         test_setup, teardown, NULL},
        {"add, append, decr, set",
         test_add_append_decr_set,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, add",
         test_add_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, append",
         test_add_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, decr",
         test_add_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, decrWithDefault",
         test_add_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, delay",
         test_add_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, delete",
         test_add_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, flush",
         test_add_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, incr",
         test_add_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, incrWithDefault",
         test_add_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, prepend",
         test_add_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, append, decrWithDefault, set",
         test_add_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, append, delay, add",
         test_add_append_delay_add,
         test_setup, teardown, NULL},
        {"add, append, delay, append",
         test_add_append_delay_append,
         test_setup, teardown, NULL},
        {"add, append, delay, decr",
         test_add_append_delay_decr,
         test_setup, teardown, NULL},
        {"add, append, delay, decrWithDefault",
         test_add_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, delay, delay",
         test_add_append_delay_delay,
         test_setup, teardown, NULL},
        {"add, append, delay, delete",
         test_add_append_delay_delete,
         test_setup, teardown, NULL},
        {"add, append, delay, flush",
         test_add_append_delay_flush,
         test_setup, teardown, NULL},
        {"add, append, delay, incr",
         test_add_append_delay_incr,
         test_setup, teardown, NULL},
        {"add, append, delay, incrWithDefault",
         test_add_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, delay, prepend",
         test_add_append_delay_prepend,
         test_setup, teardown, NULL},
        {"add, append, delay, set",
         test_add_append_delay_set,
         test_setup, teardown, NULL},
        {"add, append, delete, add",
         test_add_append_delete_add,
         test_setup, teardown, NULL},
        {"add, append, delete, append",
         test_add_append_delete_append,
         test_setup, teardown, NULL},
        {"add, append, delete, decr",
         test_add_append_delete_decr,
         test_setup, teardown, NULL},
        {"add, append, delete, decrWithDefault",
         test_add_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, delete, delay",
         test_add_append_delete_delay,
         test_setup, teardown, NULL},
        {"add, append, delete, delete",
         test_add_append_delete_delete,
         test_setup, teardown, NULL},
        {"add, append, delete, flush",
         test_add_append_delete_flush,
         test_setup, teardown, NULL},
        {"add, append, delete, incr",
         test_add_append_delete_incr,
         test_setup, teardown, NULL},
        {"add, append, delete, incrWithDefault",
         test_add_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, delete, prepend",
         test_add_append_delete_prepend,
         test_setup, teardown, NULL},
        {"add, append, delete, set",
         test_add_append_delete_set,
         test_setup, teardown, NULL},
        {"add, append, flush, add",
         test_add_append_flush_add,
         test_setup, teardown, NULL},
        {"add, append, flush, append",
         test_add_append_flush_append,
         test_setup, teardown, NULL},
        {"add, append, flush, decr",
         test_add_append_flush_decr,
         test_setup, teardown, NULL},
        {"add, append, flush, decrWithDefault",
         test_add_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, flush, delay",
         test_add_append_flush_delay,
         test_setup, teardown, NULL},
        {"add, append, flush, delete",
         test_add_append_flush_delete,
         test_setup, teardown, NULL},
        {"add, append, flush, flush",
         test_add_append_flush_flush,
         test_setup, teardown, NULL},
        {"add, append, flush, incr",
         test_add_append_flush_incr,
         test_setup, teardown, NULL},
        {"add, append, flush, incrWithDefault",
         test_add_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, flush, prepend",
         test_add_append_flush_prepend,
         test_setup, teardown, NULL},
        {"add, append, flush, set",
         test_add_append_flush_set,
         test_setup, teardown, NULL},
        {"add, append, incr, add",
         test_add_append_incr_add,
         test_setup, teardown, NULL},
        {"add, append, incr, append",
         test_add_append_incr_append,
         test_setup, teardown, NULL},
        {"add, append, incr, decr",
         test_add_append_incr_decr,
         test_setup, teardown, NULL},
        {"add, append, incr, decrWithDefault",
         test_add_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, incr, delay",
         test_add_append_incr_delay,
         test_setup, teardown, NULL},
        {"add, append, incr, delete",
         test_add_append_incr_delete,
         test_setup, teardown, NULL},
        {"add, append, incr, flush",
         test_add_append_incr_flush,
         test_setup, teardown, NULL},
        {"add, append, incr, incr",
         test_add_append_incr_incr,
         test_setup, teardown, NULL},
        {"add, append, incr, incrWithDefault",
         test_add_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, incr, prepend",
         test_add_append_incr_prepend,
         test_setup, teardown, NULL},
        {"add, append, incr, set",
         test_add_append_incr_set,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, add",
         test_add_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, append",
         test_add_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, decr",
         test_add_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, decrWithDefault",
         test_add_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, delay",
         test_add_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, delete",
         test_add_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, flush",
         test_add_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, incr",
         test_add_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, incrWithDefault",
         test_add_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, prepend",
         test_add_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, append, incrWithDefault, set",
         test_add_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, append, prepend, add",
         test_add_append_prepend_add,
         test_setup, teardown, NULL},
        {"add, append, prepend, append",
         test_add_append_prepend_append,
         test_setup, teardown, NULL},
        {"add, append, prepend, decr",
         test_add_append_prepend_decr,
         test_setup, teardown, NULL},
        {"add, append, prepend, decrWithDefault",
         test_add_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, prepend, delay",
         test_add_append_prepend_delay,
         test_setup, teardown, NULL},
        {"add, append, prepend, delete",
         test_add_append_prepend_delete,
         test_setup, teardown, NULL},
        {"add, append, prepend, flush",
         test_add_append_prepend_flush,
         test_setup, teardown, NULL},
        {"add, append, prepend, incr",
         test_add_append_prepend_incr,
         test_setup, teardown, NULL},
        {"add, append, prepend, incrWithDefault",
         test_add_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, prepend, prepend",
         test_add_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, append, prepend, set",
         test_add_append_prepend_set,
         test_setup, teardown, NULL},
        {"add, append, set, add",
         test_add_append_set_add,
         test_setup, teardown, NULL},
        {"add, append, set, append",
         test_add_append_set_append,
         test_setup, teardown, NULL},
        {"add, append, set, decr",
         test_add_append_set_decr,
         test_setup, teardown, NULL},
        {"add, append, set, decrWithDefault",
         test_add_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, set, delay",
         test_add_append_set_delay,
         test_setup, teardown, NULL},
        {"add, append, set, delete",
         test_add_append_set_delete,
         test_setup, teardown, NULL},
        {"add, append, set, flush",
         test_add_append_set_flush,
         test_setup, teardown, NULL},
        {"add, append, set, incr",
         test_add_append_set_incr,
         test_setup, teardown, NULL},
        {"add, append, set, incrWithDefault",
         test_add_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, append, set, prepend",
         test_add_append_set_prepend,
         test_setup, teardown, NULL},
        {"add, append, set, set",
         test_add_append_set_set,
         test_setup, teardown, NULL},
        {"add, decr, add, add",
         test_add_decr_add_add,
         test_setup, teardown, NULL},
        {"add, decr, add, append",
         test_add_decr_add_append,
         test_setup, teardown, NULL},
        {"add, decr, add, decr",
         test_add_decr_add_decr,
         test_setup, teardown, NULL},
        {"add, decr, add, decrWithDefault",
         test_add_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, add, delay",
         test_add_decr_add_delay,
         test_setup, teardown, NULL},
        {"add, decr, add, delete",
         test_add_decr_add_delete,
         test_setup, teardown, NULL},
        {"add, decr, add, flush",
         test_add_decr_add_flush,
         test_setup, teardown, NULL},
        {"add, decr, add, incr",
         test_add_decr_add_incr,
         test_setup, teardown, NULL},
        {"add, decr, add, incrWithDefault",
         test_add_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, add, prepend",
         test_add_decr_add_prepend,
         test_setup, teardown, NULL},
        {"add, decr, add, set",
         test_add_decr_add_set,
         test_setup, teardown, NULL},
        {"add, decr, append, add",
         test_add_decr_append_add,
         test_setup, teardown, NULL},
        {"add, decr, append, append",
         test_add_decr_append_append,
         test_setup, teardown, NULL},
        {"add, decr, append, decr",
         test_add_decr_append_decr,
         test_setup, teardown, NULL},
        {"add, decr, append, decrWithDefault",
         test_add_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, append, delay",
         test_add_decr_append_delay,
         test_setup, teardown, NULL},
        {"add, decr, append, delete",
         test_add_decr_append_delete,
         test_setup, teardown, NULL},
        {"add, decr, append, flush",
         test_add_decr_append_flush,
         test_setup, teardown, NULL},
        {"add, decr, append, incr",
         test_add_decr_append_incr,
         test_setup, teardown, NULL},
        {"add, decr, append, incrWithDefault",
         test_add_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, append, prepend",
         test_add_decr_append_prepend,
         test_setup, teardown, NULL},
        {"add, decr, append, set",
         test_add_decr_append_set,
         test_setup, teardown, NULL},
        {"add, decr, decr, add",
         test_add_decr_decr_add,
         test_setup, teardown, NULL},
        {"add, decr, decr, append",
         test_add_decr_decr_append,
         test_setup, teardown, NULL},
        {"add, decr, decr, decr",
         test_add_decr_decr_decr,
         test_setup, teardown, NULL},
        {"add, decr, decr, decrWithDefault",
         test_add_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, decr, delay",
         test_add_decr_decr_delay,
         test_setup, teardown, NULL},
        {"add, decr, decr, delete",
         test_add_decr_decr_delete,
         test_setup, teardown, NULL},
        {"add, decr, decr, flush",
         test_add_decr_decr_flush,
         test_setup, teardown, NULL},
        {"add, decr, decr, incr",
         test_add_decr_decr_incr,
         test_setup, teardown, NULL},
        {"add, decr, decr, incrWithDefault",
         test_add_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, decr, prepend",
         test_add_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"add, decr, decr, set",
         test_add_decr_decr_set,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, add",
         test_add_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, append",
         test_add_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, decr",
         test_add_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, decrWithDefault",
         test_add_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, delay",
         test_add_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, delete",
         test_add_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, flush",
         test_add_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, incr",
         test_add_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, incrWithDefault",
         test_add_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, prepend",
         test_add_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, decr, decrWithDefault, set",
         test_add_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, decr, delay, add",
         test_add_decr_delay_add,
         test_setup, teardown, NULL},
        {"add, decr, delay, append",
         test_add_decr_delay_append,
         test_setup, teardown, NULL},
        {"add, decr, delay, decr",
         test_add_decr_delay_decr,
         test_setup, teardown, NULL},
        {"add, decr, delay, decrWithDefault",
         test_add_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, delay, delay",
         test_add_decr_delay_delay,
         test_setup, teardown, NULL},
        {"add, decr, delay, delete",
         test_add_decr_delay_delete,
         test_setup, teardown, NULL},
        {"add, decr, delay, flush",
         test_add_decr_delay_flush,
         test_setup, teardown, NULL},
        {"add, decr, delay, incr",
         test_add_decr_delay_incr,
         test_setup, teardown, NULL},
        {"add, decr, delay, incrWithDefault",
         test_add_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, delay, prepend",
         test_add_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"add, decr, delay, set",
         test_add_decr_delay_set,
         test_setup, teardown, NULL},
        {"add, decr, delete, add",
         test_add_decr_delete_add,
         test_setup, teardown, NULL},
        {"add, decr, delete, append",
         test_add_decr_delete_append,
         test_setup, teardown, NULL},
        {"add, decr, delete, decr",
         test_add_decr_delete_decr,
         test_setup, teardown, NULL},
        {"add, decr, delete, decrWithDefault",
         test_add_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, delete, delay",
         test_add_decr_delete_delay,
         test_setup, teardown, NULL},
        {"add, decr, delete, delete",
         test_add_decr_delete_delete,
         test_setup, teardown, NULL},
        {"add, decr, delete, flush",
         test_add_decr_delete_flush,
         test_setup, teardown, NULL},
        {"add, decr, delete, incr",
         test_add_decr_delete_incr,
         test_setup, teardown, NULL},
        {"add, decr, delete, incrWithDefault",
         test_add_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, delete, prepend",
         test_add_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"add, decr, delete, set",
         test_add_decr_delete_set,
         test_setup, teardown, NULL},
        {"add, decr, flush, add",
         test_add_decr_flush_add,
         test_setup, teardown, NULL},
        {"add, decr, flush, append",
         test_add_decr_flush_append,
         test_setup, teardown, NULL},
        {"add, decr, flush, decr",
         test_add_decr_flush_decr,
         test_setup, teardown, NULL},
        {"add, decr, flush, decrWithDefault",
         test_add_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, flush, delay",
         test_add_decr_flush_delay,
         test_setup, teardown, NULL},
        {"add, decr, flush, delete",
         test_add_decr_flush_delete,
         test_setup, teardown, NULL},
        {"add, decr, flush, flush",
         test_add_decr_flush_flush,
         test_setup, teardown, NULL},
        {"add, decr, flush, incr",
         test_add_decr_flush_incr,
         test_setup, teardown, NULL},
        {"add, decr, flush, incrWithDefault",
         test_add_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, flush, prepend",
         test_add_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"add, decr, flush, set",
         test_add_decr_flush_set,
         test_setup, teardown, NULL},
        {"add, decr, incr, add",
         test_add_decr_incr_add,
         test_setup, teardown, NULL},
        {"add, decr, incr, append",
         test_add_decr_incr_append,
         test_setup, teardown, NULL},
        {"add, decr, incr, decr",
         test_add_decr_incr_decr,
         test_setup, teardown, NULL},
        {"add, decr, incr, decrWithDefault",
         test_add_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, incr, delay",
         test_add_decr_incr_delay,
         test_setup, teardown, NULL},
        {"add, decr, incr, delete",
         test_add_decr_incr_delete,
         test_setup, teardown, NULL},
        {"add, decr, incr, flush",
         test_add_decr_incr_flush,
         test_setup, teardown, NULL},
        {"add, decr, incr, incr",
         test_add_decr_incr_incr,
         test_setup, teardown, NULL},
        {"add, decr, incr, incrWithDefault",
         test_add_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, incr, prepend",
         test_add_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"add, decr, incr, set",
         test_add_decr_incr_set,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, add",
         test_add_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, append",
         test_add_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, decr",
         test_add_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, decrWithDefault",
         test_add_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, delay",
         test_add_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, delete",
         test_add_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, flush",
         test_add_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, incr",
         test_add_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, incrWithDefault",
         test_add_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, prepend",
         test_add_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, decr, incrWithDefault, set",
         test_add_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, decr, prepend, add",
         test_add_decr_prepend_add,
         test_setup, teardown, NULL},
        {"add, decr, prepend, append",
         test_add_decr_prepend_append,
         test_setup, teardown, NULL},
        {"add, decr, prepend, decr",
         test_add_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"add, decr, prepend, decrWithDefault",
         test_add_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, prepend, delay",
         test_add_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"add, decr, prepend, delete",
         test_add_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"add, decr, prepend, flush",
         test_add_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"add, decr, prepend, incr",
         test_add_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"add, decr, prepend, incrWithDefault",
         test_add_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, prepend, prepend",
         test_add_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, decr, prepend, set",
         test_add_decr_prepend_set,
         test_setup, teardown, NULL},
        {"add, decr, set, add",
         test_add_decr_set_add,
         test_setup, teardown, NULL},
        {"add, decr, set, append",
         test_add_decr_set_append,
         test_setup, teardown, NULL},
        {"add, decr, set, decr",
         test_add_decr_set_decr,
         test_setup, teardown, NULL},
        {"add, decr, set, decrWithDefault",
         test_add_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, set, delay",
         test_add_decr_set_delay,
         test_setup, teardown, NULL},
        {"add, decr, set, delete",
         test_add_decr_set_delete,
         test_setup, teardown, NULL},
        {"add, decr, set, flush",
         test_add_decr_set_flush,
         test_setup, teardown, NULL},
        {"add, decr, set, incr",
         test_add_decr_set_incr,
         test_setup, teardown, NULL},
        {"add, decr, set, incrWithDefault",
         test_add_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decr, set, prepend",
         test_add_decr_set_prepend,
         test_setup, teardown, NULL},
        {"add, decr, set, set",
         test_add_decr_set_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, add",
         test_add_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, append",
         test_add_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, decr",
         test_add_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, decrWithDefault",
         test_add_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, delay",
         test_add_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, delete",
         test_add_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, flush",
         test_add_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, incr",
         test_add_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, incrWithDefault",
         test_add_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, prepend",
         test_add_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, add, set",
         test_add_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, add",
         test_add_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, append",
         test_add_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, decr",
         test_add_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, decrWithDefault",
         test_add_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, delay",
         test_add_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, delete",
         test_add_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, flush",
         test_add_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, incr",
         test_add_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, incrWithDefault",
         test_add_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, prepend",
         test_add_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, append, set",
         test_add_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, add",
         test_add_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, append",
         test_add_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, decr",
         test_add_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, decrWithDefault",
         test_add_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, delay",
         test_add_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, delete",
         test_add_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, flush",
         test_add_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, incr",
         test_add_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, incrWithDefault",
         test_add_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, prepend",
         test_add_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decr, set",
         test_add_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, add",
         test_add_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, append",
         test_add_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, decr",
         test_add_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, decrWithDefault",
         test_add_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, delay",
         test_add_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, delete",
         test_add_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, flush",
         test_add_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, incr",
         test_add_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, incrWithDefault",
         test_add_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, prepend",
         test_add_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, decrWithDefault, set",
         test_add_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, add",
         test_add_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, append",
         test_add_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, decr",
         test_add_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, decrWithDefault",
         test_add_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, delay",
         test_add_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, delete",
         test_add_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, flush",
         test_add_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, incr",
         test_add_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, incrWithDefault",
         test_add_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, prepend",
         test_add_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delay, set",
         test_add_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, add",
         test_add_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, append",
         test_add_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, decr",
         test_add_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, decrWithDefault",
         test_add_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, delay",
         test_add_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, delete",
         test_add_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, flush",
         test_add_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, incr",
         test_add_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, incrWithDefault",
         test_add_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, prepend",
         test_add_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, delete, set",
         test_add_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, add",
         test_add_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, append",
         test_add_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, decr",
         test_add_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, decrWithDefault",
         test_add_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, delay",
         test_add_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, delete",
         test_add_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, flush",
         test_add_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, incr",
         test_add_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, incrWithDefault",
         test_add_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, prepend",
         test_add_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, flush, set",
         test_add_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, add",
         test_add_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, append",
         test_add_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, decr",
         test_add_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, decrWithDefault",
         test_add_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, delay",
         test_add_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, delete",
         test_add_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, flush",
         test_add_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, incr",
         test_add_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, incrWithDefault",
         test_add_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, prepend",
         test_add_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incr, set",
         test_add_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, add",
         test_add_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, append",
         test_add_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, decr",
         test_add_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, decrWithDefault",
         test_add_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, delay",
         test_add_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, delete",
         test_add_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, flush",
         test_add_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, incr",
         test_add_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, incrWithDefault",
         test_add_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, prepend",
         test_add_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, incrWithDefault, set",
         test_add_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, add",
         test_add_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, append",
         test_add_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, decr",
         test_add_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, decrWithDefault",
         test_add_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, delay",
         test_add_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, delete",
         test_add_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, flush",
         test_add_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, incr",
         test_add_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, incrWithDefault",
         test_add_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, prepend",
         test_add_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, prepend, set",
         test_add_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, add",
         test_add_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, append",
         test_add_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, decr",
         test_add_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, decrWithDefault",
         test_add_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, delay",
         test_add_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, delete",
         test_add_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, flush",
         test_add_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, incr",
         test_add_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, incrWithDefault",
         test_add_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, prepend",
         test_add_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"add, decrWithDefault, set, set",
         test_add_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"add, delay, add, add",
         test_add_delay_add_add,
         test_setup, teardown, NULL},
        {"add, delay, add, append",
         test_add_delay_add_append,
         test_setup, teardown, NULL},
        {"add, delay, add, decr",
         test_add_delay_add_decr,
         test_setup, teardown, NULL},
        {"add, delay, add, decrWithDefault",
         test_add_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, add, delay",
         test_add_delay_add_delay,
         test_setup, teardown, NULL},
        {"add, delay, add, delete",
         test_add_delay_add_delete,
         test_setup, teardown, NULL},
        {"add, delay, add, flush",
         test_add_delay_add_flush,
         test_setup, teardown, NULL},
        {"add, delay, add, incr",
         test_add_delay_add_incr,
         test_setup, teardown, NULL},
        {"add, delay, add, incrWithDefault",
         test_add_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, add, prepend",
         test_add_delay_add_prepend,
         test_setup, teardown, NULL},
        {"add, delay, add, set",
         test_add_delay_add_set,
         test_setup, teardown, NULL},
        {"add, delay, append, add",
         test_add_delay_append_add,
         test_setup, teardown, NULL},
        {"add, delay, append, append",
         test_add_delay_append_append,
         test_setup, teardown, NULL},
        {"add, delay, append, decr",
         test_add_delay_append_decr,
         test_setup, teardown, NULL},
        {"add, delay, append, decrWithDefault",
         test_add_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, append, delay",
         test_add_delay_append_delay,
         test_setup, teardown, NULL},
        {"add, delay, append, delete",
         test_add_delay_append_delete,
         test_setup, teardown, NULL},
        {"add, delay, append, flush",
         test_add_delay_append_flush,
         test_setup, teardown, NULL},
        {"add, delay, append, incr",
         test_add_delay_append_incr,
         test_setup, teardown, NULL},
        {"add, delay, append, incrWithDefault",
         test_add_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, append, prepend",
         test_add_delay_append_prepend,
         test_setup, teardown, NULL},
        {"add, delay, append, set",
         test_add_delay_append_set,
         test_setup, teardown, NULL},
        {"add, delay, decr, add",
         test_add_delay_decr_add,
         test_setup, teardown, NULL},
        {"add, delay, decr, append",
         test_add_delay_decr_append,
         test_setup, teardown, NULL},
        {"add, delay, decr, decr",
         test_add_delay_decr_decr,
         test_setup, teardown, NULL},
        {"add, delay, decr, decrWithDefault",
         test_add_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, decr, delay",
         test_add_delay_decr_delay,
         test_setup, teardown, NULL},
        {"add, delay, decr, delete",
         test_add_delay_decr_delete,
         test_setup, teardown, NULL},
        {"add, delay, decr, flush",
         test_add_delay_decr_flush,
         test_setup, teardown, NULL},
        {"add, delay, decr, incr",
         test_add_delay_decr_incr,
         test_setup, teardown, NULL},
        {"add, delay, decr, incrWithDefault",
         test_add_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, decr, prepend",
         test_add_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"add, delay, decr, set",
         test_add_delay_decr_set,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, add",
         test_add_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, append",
         test_add_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, decr",
         test_add_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, decrWithDefault",
         test_add_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, delay",
         test_add_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, delete",
         test_add_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, flush",
         test_add_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, incr",
         test_add_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, incrWithDefault",
         test_add_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, prepend",
         test_add_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, delay, decrWithDefault, set",
         test_add_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, delay, delay, add",
         test_add_delay_delay_add,
         test_setup, teardown, NULL},
        {"add, delay, delay, append",
         test_add_delay_delay_append,
         test_setup, teardown, NULL},
        {"add, delay, delay, decr",
         test_add_delay_delay_decr,
         test_setup, teardown, NULL},
        {"add, delay, delay, decrWithDefault",
         test_add_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, delay, delay",
         test_add_delay_delay_delay,
         test_setup, teardown, NULL},
        {"add, delay, delay, delete",
         test_add_delay_delay_delete,
         test_setup, teardown, NULL},
        {"add, delay, delay, flush",
         test_add_delay_delay_flush,
         test_setup, teardown, NULL},
        {"add, delay, delay, incr",
         test_add_delay_delay_incr,
         test_setup, teardown, NULL},
        {"add, delay, delay, incrWithDefault",
         test_add_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, delay, prepend",
         test_add_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"add, delay, delay, set",
         test_add_delay_delay_set,
         test_setup, teardown, NULL},
        {"add, delay, delete, add",
         test_add_delay_delete_add,
         test_setup, teardown, NULL},
        {"add, delay, delete, append",
         test_add_delay_delete_append,
         test_setup, teardown, NULL},
        {"add, delay, delete, decr",
         test_add_delay_delete_decr,
         test_setup, teardown, NULL},
        {"add, delay, delete, decrWithDefault",
         test_add_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, delete, delay",
         test_add_delay_delete_delay,
         test_setup, teardown, NULL},
        {"add, delay, delete, delete",
         test_add_delay_delete_delete,
         test_setup, teardown, NULL},
        {"add, delay, delete, flush",
         test_add_delay_delete_flush,
         test_setup, teardown, NULL},
        {"add, delay, delete, incr",
         test_add_delay_delete_incr,
         test_setup, teardown, NULL},
        {"add, delay, delete, incrWithDefault",
         test_add_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, delete, prepend",
         test_add_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"add, delay, delete, set",
         test_add_delay_delete_set,
         test_setup, teardown, NULL},
        {"add, delay, flush, add",
         test_add_delay_flush_add,
         test_setup, teardown, NULL},
        {"add, delay, flush, append",
         test_add_delay_flush_append,
         test_setup, teardown, NULL},
        {"add, delay, flush, decr",
         test_add_delay_flush_decr,
         test_setup, teardown, NULL},
        {"add, delay, flush, decrWithDefault",
         test_add_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, flush, delay",
         test_add_delay_flush_delay,
         test_setup, teardown, NULL},
        {"add, delay, flush, delete",
         test_add_delay_flush_delete,
         test_setup, teardown, NULL},
        {"add, delay, flush, flush",
         test_add_delay_flush_flush,
         test_setup, teardown, NULL},
        {"add, delay, flush, incr",
         test_add_delay_flush_incr,
         test_setup, teardown, NULL},
        {"add, delay, flush, incrWithDefault",
         test_add_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, flush, prepend",
         test_add_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"add, delay, flush, set",
         test_add_delay_flush_set,
         test_setup, teardown, NULL},
        {"add, delay, incr, add",
         test_add_delay_incr_add,
         test_setup, teardown, NULL},
        {"add, delay, incr, append",
         test_add_delay_incr_append,
         test_setup, teardown, NULL},
        {"add, delay, incr, decr",
         test_add_delay_incr_decr,
         test_setup, teardown, NULL},
        {"add, delay, incr, decrWithDefault",
         test_add_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, incr, delay",
         test_add_delay_incr_delay,
         test_setup, teardown, NULL},
        {"add, delay, incr, delete",
         test_add_delay_incr_delete,
         test_setup, teardown, NULL},
        {"add, delay, incr, flush",
         test_add_delay_incr_flush,
         test_setup, teardown, NULL},
        {"add, delay, incr, incr",
         test_add_delay_incr_incr,
         test_setup, teardown, NULL},
        {"add, delay, incr, incrWithDefault",
         test_add_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, incr, prepend",
         test_add_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"add, delay, incr, set",
         test_add_delay_incr_set,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, add",
         test_add_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, append",
         test_add_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, decr",
         test_add_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, decrWithDefault",
         test_add_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, delay",
         test_add_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, delete",
         test_add_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, flush",
         test_add_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, incr",
         test_add_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, incrWithDefault",
         test_add_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, prepend",
         test_add_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, delay, incrWithDefault, set",
         test_add_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, delay, prepend, add",
         test_add_delay_prepend_add,
         test_setup, teardown, NULL},
        {"add, delay, prepend, append",
         test_add_delay_prepend_append,
         test_setup, teardown, NULL},
        {"add, delay, prepend, decr",
         test_add_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"add, delay, prepend, decrWithDefault",
         test_add_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, prepend, delay",
         test_add_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"add, delay, prepend, delete",
         test_add_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"add, delay, prepend, flush",
         test_add_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"add, delay, prepend, incr",
         test_add_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"add, delay, prepend, incrWithDefault",
         test_add_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, prepend, prepend",
         test_add_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, delay, prepend, set",
         test_add_delay_prepend_set,
         test_setup, teardown, NULL},
        {"add, delay, set, add",
         test_add_delay_set_add,
         test_setup, teardown, NULL},
        {"add, delay, set, append",
         test_add_delay_set_append,
         test_setup, teardown, NULL},
        {"add, delay, set, decr",
         test_add_delay_set_decr,
         test_setup, teardown, NULL},
        {"add, delay, set, decrWithDefault",
         test_add_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, set, delay",
         test_add_delay_set_delay,
         test_setup, teardown, NULL},
        {"add, delay, set, delete",
         test_add_delay_set_delete,
         test_setup, teardown, NULL},
        {"add, delay, set, flush",
         test_add_delay_set_flush,
         test_setup, teardown, NULL},
        {"add, delay, set, incr",
         test_add_delay_set_incr,
         test_setup, teardown, NULL},
        {"add, delay, set, incrWithDefault",
         test_add_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delay, set, prepend",
         test_add_delay_set_prepend,
         test_setup, teardown, NULL},
        {"add, delay, set, set",
         test_add_delay_set_set,
         test_setup, teardown, NULL},
        {"add, delete, add, add",
         test_add_delete_add_add,
         test_setup, teardown, NULL},
        {"add, delete, add, append",
         test_add_delete_add_append,
         test_setup, teardown, NULL},
        {"add, delete, add, decr",
         test_add_delete_add_decr,
         test_setup, teardown, NULL},
        {"add, delete, add, decrWithDefault",
         test_add_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, add, delay",
         test_add_delete_add_delay,
         test_setup, teardown, NULL},
        {"add, delete, add, delete",
         test_add_delete_add_delete,
         test_setup, teardown, NULL},
        {"add, delete, add, flush",
         test_add_delete_add_flush,
         test_setup, teardown, NULL},
        {"add, delete, add, incr",
         test_add_delete_add_incr,
         test_setup, teardown, NULL},
        {"add, delete, add, incrWithDefault",
         test_add_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, add, prepend",
         test_add_delete_add_prepend,
         test_setup, teardown, NULL},
        {"add, delete, add, set",
         test_add_delete_add_set,
         test_setup, teardown, NULL},
        {"add, delete, append, add",
         test_add_delete_append_add,
         test_setup, teardown, NULL},
        {"add, delete, append, append",
         test_add_delete_append_append,
         test_setup, teardown, NULL},
        {"add, delete, append, decr",
         test_add_delete_append_decr,
         test_setup, teardown, NULL},
        {"add, delete, append, decrWithDefault",
         test_add_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, append, delay",
         test_add_delete_append_delay,
         test_setup, teardown, NULL},
        {"add, delete, append, delete",
         test_add_delete_append_delete,
         test_setup, teardown, NULL},
        {"add, delete, append, flush",
         test_add_delete_append_flush,
         test_setup, teardown, NULL},
        {"add, delete, append, incr",
         test_add_delete_append_incr,
         test_setup, teardown, NULL},
        {"add, delete, append, incrWithDefault",
         test_add_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, append, prepend",
         test_add_delete_append_prepend,
         test_setup, teardown, NULL},
        {"add, delete, append, set",
         test_add_delete_append_set,
         test_setup, teardown, NULL},
        {"add, delete, decr, add",
         test_add_delete_decr_add,
         test_setup, teardown, NULL},
        {"add, delete, decr, append",
         test_add_delete_decr_append,
         test_setup, teardown, NULL},
        {"add, delete, decr, decr",
         test_add_delete_decr_decr,
         test_setup, teardown, NULL},
        {"add, delete, decr, decrWithDefault",
         test_add_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, decr, delay",
         test_add_delete_decr_delay,
         test_setup, teardown, NULL},
        {"add, delete, decr, delete",
         test_add_delete_decr_delete,
         test_setup, teardown, NULL},
        {"add, delete, decr, flush",
         test_add_delete_decr_flush,
         test_setup, teardown, NULL},
        {"add, delete, decr, incr",
         test_add_delete_decr_incr,
         test_setup, teardown, NULL},
        {"add, delete, decr, incrWithDefault",
         test_add_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, decr, prepend",
         test_add_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"add, delete, decr, set",
         test_add_delete_decr_set,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, add",
         test_add_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, append",
         test_add_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, decr",
         test_add_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, decrWithDefault",
         test_add_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, delay",
         test_add_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, delete",
         test_add_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, flush",
         test_add_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, incr",
         test_add_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, incrWithDefault",
         test_add_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, prepend",
         test_add_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, delete, decrWithDefault, set",
         test_add_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, delete, delay, add",
         test_add_delete_delay_add,
         test_setup, teardown, NULL},
        {"add, delete, delay, append",
         test_add_delete_delay_append,
         test_setup, teardown, NULL},
        {"add, delete, delay, decr",
         test_add_delete_delay_decr,
         test_setup, teardown, NULL},
        {"add, delete, delay, decrWithDefault",
         test_add_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, delay, delay",
         test_add_delete_delay_delay,
         test_setup, teardown, NULL},
        {"add, delete, delay, delete",
         test_add_delete_delay_delete,
         test_setup, teardown, NULL},
        {"add, delete, delay, flush",
         test_add_delete_delay_flush,
         test_setup, teardown, NULL},
        {"add, delete, delay, incr",
         test_add_delete_delay_incr,
         test_setup, teardown, NULL},
        {"add, delete, delay, incrWithDefault",
         test_add_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, delay, prepend",
         test_add_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"add, delete, delay, set",
         test_add_delete_delay_set,
         test_setup, teardown, NULL},
        {"add, delete, delete, add",
         test_add_delete_delete_add,
         test_setup, teardown, NULL},
        {"add, delete, delete, append",
         test_add_delete_delete_append,
         test_setup, teardown, NULL},
        {"add, delete, delete, decr",
         test_add_delete_delete_decr,
         test_setup, teardown, NULL},
        {"add, delete, delete, decrWithDefault",
         test_add_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, delete, delay",
         test_add_delete_delete_delay,
         test_setup, teardown, NULL},
        {"add, delete, delete, delete",
         test_add_delete_delete_delete,
         test_setup, teardown, NULL},
        {"add, delete, delete, flush",
         test_add_delete_delete_flush,
         test_setup, teardown, NULL},
        {"add, delete, delete, incr",
         test_add_delete_delete_incr,
         test_setup, teardown, NULL},
        {"add, delete, delete, incrWithDefault",
         test_add_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, delete, prepend",
         test_add_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"add, delete, delete, set",
         test_add_delete_delete_set,
         test_setup, teardown, NULL},
        {"add, delete, flush, add",
         test_add_delete_flush_add,
         test_setup, teardown, NULL},
        {"add, delete, flush, append",
         test_add_delete_flush_append,
         test_setup, teardown, NULL},
        {"add, delete, flush, decr",
         test_add_delete_flush_decr,
         test_setup, teardown, NULL},
        {"add, delete, flush, decrWithDefault",
         test_add_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, flush, delay",
         test_add_delete_flush_delay,
         test_setup, teardown, NULL},
        {"add, delete, flush, delete",
         test_add_delete_flush_delete,
         test_setup, teardown, NULL},
        {"add, delete, flush, flush",
         test_add_delete_flush_flush,
         test_setup, teardown, NULL},
        {"add, delete, flush, incr",
         test_add_delete_flush_incr,
         test_setup, teardown, NULL},
        {"add, delete, flush, incrWithDefault",
         test_add_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, flush, prepend",
         test_add_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"add, delete, flush, set",
         test_add_delete_flush_set,
         test_setup, teardown, NULL},
        {"add, delete, incr, add",
         test_add_delete_incr_add,
         test_setup, teardown, NULL},
        {"add, delete, incr, append",
         test_add_delete_incr_append,
         test_setup, teardown, NULL},
        {"add, delete, incr, decr",
         test_add_delete_incr_decr,
         test_setup, teardown, NULL},
        {"add, delete, incr, decrWithDefault",
         test_add_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, incr, delay",
         test_add_delete_incr_delay,
         test_setup, teardown, NULL},
        {"add, delete, incr, delete",
         test_add_delete_incr_delete,
         test_setup, teardown, NULL},
        {"add, delete, incr, flush",
         test_add_delete_incr_flush,
         test_setup, teardown, NULL},
        {"add, delete, incr, incr",
         test_add_delete_incr_incr,
         test_setup, teardown, NULL},
        {"add, delete, incr, incrWithDefault",
         test_add_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, incr, prepend",
         test_add_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"add, delete, incr, set",
         test_add_delete_incr_set,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, add",
         test_add_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, append",
         test_add_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, decr",
         test_add_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, decrWithDefault",
         test_add_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, delay",
         test_add_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, delete",
         test_add_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, flush",
         test_add_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, incr",
         test_add_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, incrWithDefault",
         test_add_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, prepend",
         test_add_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, delete, incrWithDefault, set",
         test_add_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, delete, prepend, add",
         test_add_delete_prepend_add,
         test_setup, teardown, NULL},
        {"add, delete, prepend, append",
         test_add_delete_prepend_append,
         test_setup, teardown, NULL},
        {"add, delete, prepend, decr",
         test_add_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"add, delete, prepend, decrWithDefault",
         test_add_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, prepend, delay",
         test_add_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"add, delete, prepend, delete",
         test_add_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"add, delete, prepend, flush",
         test_add_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"add, delete, prepend, incr",
         test_add_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"add, delete, prepend, incrWithDefault",
         test_add_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, prepend, prepend",
         test_add_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, delete, prepend, set",
         test_add_delete_prepend_set,
         test_setup, teardown, NULL},
        {"add, delete, set, add",
         test_add_delete_set_add,
         test_setup, teardown, NULL},
        {"add, delete, set, append",
         test_add_delete_set_append,
         test_setup, teardown, NULL},
        {"add, delete, set, decr",
         test_add_delete_set_decr,
         test_setup, teardown, NULL},
        {"add, delete, set, decrWithDefault",
         test_add_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, set, delay",
         test_add_delete_set_delay,
         test_setup, teardown, NULL},
        {"add, delete, set, delete",
         test_add_delete_set_delete,
         test_setup, teardown, NULL},
        {"add, delete, set, flush",
         test_add_delete_set_flush,
         test_setup, teardown, NULL},
        {"add, delete, set, incr",
         test_add_delete_set_incr,
         test_setup, teardown, NULL},
        {"add, delete, set, incrWithDefault",
         test_add_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, delete, set, prepend",
         test_add_delete_set_prepend,
         test_setup, teardown, NULL},
        {"add, delete, set, set",
         test_add_delete_set_set,
         test_setup, teardown, NULL},
        {"add, flush, add, add",
         test_add_flush_add_add,
         test_setup, teardown, NULL},
        {"add, flush, add, append",
         test_add_flush_add_append,
         test_setup, teardown, NULL},
        {"add, flush, add, decr",
         test_add_flush_add_decr,
         test_setup, teardown, NULL},
        {"add, flush, add, decrWithDefault",
         test_add_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, add, delay",
         test_add_flush_add_delay,
         test_setup, teardown, NULL},
        {"add, flush, add, delete",
         test_add_flush_add_delete,
         test_setup, teardown, NULL},
        {"add, flush, add, flush",
         test_add_flush_add_flush,
         test_setup, teardown, NULL},
        {"add, flush, add, incr",
         test_add_flush_add_incr,
         test_setup, teardown, NULL},
        {"add, flush, add, incrWithDefault",
         test_add_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, add, prepend",
         test_add_flush_add_prepend,
         test_setup, teardown, NULL},
        {"add, flush, add, set",
         test_add_flush_add_set,
         test_setup, teardown, NULL},
        {"add, flush, append, add",
         test_add_flush_append_add,
         test_setup, teardown, NULL},
        {"add, flush, append, append",
         test_add_flush_append_append,
         test_setup, teardown, NULL},
        {"add, flush, append, decr",
         test_add_flush_append_decr,
         test_setup, teardown, NULL},
        {"add, flush, append, decrWithDefault",
         test_add_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, append, delay",
         test_add_flush_append_delay,
         test_setup, teardown, NULL},
        {"add, flush, append, delete",
         test_add_flush_append_delete,
         test_setup, teardown, NULL},
        {"add, flush, append, flush",
         test_add_flush_append_flush,
         test_setup, teardown, NULL},
        {"add, flush, append, incr",
         test_add_flush_append_incr,
         test_setup, teardown, NULL},
        {"add, flush, append, incrWithDefault",
         test_add_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, append, prepend",
         test_add_flush_append_prepend,
         test_setup, teardown, NULL},
        {"add, flush, append, set",
         test_add_flush_append_set,
         test_setup, teardown, NULL},
        {"add, flush, decr, add",
         test_add_flush_decr_add,
         test_setup, teardown, NULL},
        {"add, flush, decr, append",
         test_add_flush_decr_append,
         test_setup, teardown, NULL},
        {"add, flush, decr, decr",
         test_add_flush_decr_decr,
         test_setup, teardown, NULL},
        {"add, flush, decr, decrWithDefault",
         test_add_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, decr, delay",
         test_add_flush_decr_delay,
         test_setup, teardown, NULL},
        {"add, flush, decr, delete",
         test_add_flush_decr_delete,
         test_setup, teardown, NULL},
        {"add, flush, decr, flush",
         test_add_flush_decr_flush,
         test_setup, teardown, NULL},
        {"add, flush, decr, incr",
         test_add_flush_decr_incr,
         test_setup, teardown, NULL},
        {"add, flush, decr, incrWithDefault",
         test_add_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, decr, prepend",
         test_add_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"add, flush, decr, set",
         test_add_flush_decr_set,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, add",
         test_add_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, append",
         test_add_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, decr",
         test_add_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, decrWithDefault",
         test_add_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, delay",
         test_add_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, delete",
         test_add_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, flush",
         test_add_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, incr",
         test_add_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, incrWithDefault",
         test_add_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, prepend",
         test_add_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, flush, decrWithDefault, set",
         test_add_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, flush, delay, add",
         test_add_flush_delay_add,
         test_setup, teardown, NULL},
        {"add, flush, delay, append",
         test_add_flush_delay_append,
         test_setup, teardown, NULL},
        {"add, flush, delay, decr",
         test_add_flush_delay_decr,
         test_setup, teardown, NULL},
        {"add, flush, delay, decrWithDefault",
         test_add_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, delay, delay",
         test_add_flush_delay_delay,
         test_setup, teardown, NULL},
        {"add, flush, delay, delete",
         test_add_flush_delay_delete,
         test_setup, teardown, NULL},
        {"add, flush, delay, flush",
         test_add_flush_delay_flush,
         test_setup, teardown, NULL},
        {"add, flush, delay, incr",
         test_add_flush_delay_incr,
         test_setup, teardown, NULL},
        {"add, flush, delay, incrWithDefault",
         test_add_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, delay, prepend",
         test_add_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"add, flush, delay, set",
         test_add_flush_delay_set,
         test_setup, teardown, NULL},
        {"add, flush, delete, add",
         test_add_flush_delete_add,
         test_setup, teardown, NULL},
        {"add, flush, delete, append",
         test_add_flush_delete_append,
         test_setup, teardown, NULL},
        {"add, flush, delete, decr",
         test_add_flush_delete_decr,
         test_setup, teardown, NULL},
        {"add, flush, delete, decrWithDefault",
         test_add_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, delete, delay",
         test_add_flush_delete_delay,
         test_setup, teardown, NULL},
        {"add, flush, delete, delete",
         test_add_flush_delete_delete,
         test_setup, teardown, NULL},
        {"add, flush, delete, flush",
         test_add_flush_delete_flush,
         test_setup, teardown, NULL},
        {"add, flush, delete, incr",
         test_add_flush_delete_incr,
         test_setup, teardown, NULL},
        {"add, flush, delete, incrWithDefault",
         test_add_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, delete, prepend",
         test_add_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"add, flush, delete, set",
         test_add_flush_delete_set,
         test_setup, teardown, NULL},
        {"add, flush, flush, add",
         test_add_flush_flush_add,
         test_setup, teardown, NULL},
        {"add, flush, flush, append",
         test_add_flush_flush_append,
         test_setup, teardown, NULL},
        {"add, flush, flush, decr",
         test_add_flush_flush_decr,
         test_setup, teardown, NULL},
        {"add, flush, flush, decrWithDefault",
         test_add_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, flush, delay",
         test_add_flush_flush_delay,
         test_setup, teardown, NULL},
        {"add, flush, flush, delete",
         test_add_flush_flush_delete,
         test_setup, teardown, NULL},
        {"add, flush, flush, flush",
         test_add_flush_flush_flush,
         test_setup, teardown, NULL},
        {"add, flush, flush, incr",
         test_add_flush_flush_incr,
         test_setup, teardown, NULL},
        {"add, flush, flush, incrWithDefault",
         test_add_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, flush, prepend",
         test_add_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"add, flush, flush, set",
         test_add_flush_flush_set,
         test_setup, teardown, NULL},
        {"add, flush, incr, add",
         test_add_flush_incr_add,
         test_setup, teardown, NULL},
        {"add, flush, incr, append",
         test_add_flush_incr_append,
         test_setup, teardown, NULL},
        {"add, flush, incr, decr",
         test_add_flush_incr_decr,
         test_setup, teardown, NULL},
        {"add, flush, incr, decrWithDefault",
         test_add_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, incr, delay",
         test_add_flush_incr_delay,
         test_setup, teardown, NULL},
        {"add, flush, incr, delete",
         test_add_flush_incr_delete,
         test_setup, teardown, NULL},
        {"add, flush, incr, flush",
         test_add_flush_incr_flush,
         test_setup, teardown, NULL},
        {"add, flush, incr, incr",
         test_add_flush_incr_incr,
         test_setup, teardown, NULL},
        {"add, flush, incr, incrWithDefault",
         test_add_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, incr, prepend",
         test_add_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"add, flush, incr, set",
         test_add_flush_incr_set,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, add",
         test_add_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, append",
         test_add_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, decr",
         test_add_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, decrWithDefault",
         test_add_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, delay",
         test_add_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, delete",
         test_add_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, flush",
         test_add_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, incr",
         test_add_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, incrWithDefault",
         test_add_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, prepend",
         test_add_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, flush, incrWithDefault, set",
         test_add_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, flush, prepend, add",
         test_add_flush_prepend_add,
         test_setup, teardown, NULL},
        {"add, flush, prepend, append",
         test_add_flush_prepend_append,
         test_setup, teardown, NULL},
        {"add, flush, prepend, decr",
         test_add_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"add, flush, prepend, decrWithDefault",
         test_add_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, prepend, delay",
         test_add_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"add, flush, prepend, delete",
         test_add_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"add, flush, prepend, flush",
         test_add_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"add, flush, prepend, incr",
         test_add_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"add, flush, prepend, incrWithDefault",
         test_add_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, prepend, prepend",
         test_add_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, flush, prepend, set",
         test_add_flush_prepend_set,
         test_setup, teardown, NULL},
        {"add, flush, set, add",
         test_add_flush_set_add,
         test_setup, teardown, NULL},
        {"add, flush, set, append",
         test_add_flush_set_append,
         test_setup, teardown, NULL},
        {"add, flush, set, decr",
         test_add_flush_set_decr,
         test_setup, teardown, NULL},
        {"add, flush, set, decrWithDefault",
         test_add_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, set, delay",
         test_add_flush_set_delay,
         test_setup, teardown, NULL},
        {"add, flush, set, delete",
         test_add_flush_set_delete,
         test_setup, teardown, NULL},
        {"add, flush, set, flush",
         test_add_flush_set_flush,
         test_setup, teardown, NULL},
        {"add, flush, set, incr",
         test_add_flush_set_incr,
         test_setup, teardown, NULL},
        {"add, flush, set, incrWithDefault",
         test_add_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, flush, set, prepend",
         test_add_flush_set_prepend,
         test_setup, teardown, NULL},
        {"add, flush, set, set",
         test_add_flush_set_set,
         test_setup, teardown, NULL},
        {"add, incr, add, add",
         test_add_incr_add_add,
         test_setup, teardown, NULL},
        {"add, incr, add, append",
         test_add_incr_add_append,
         test_setup, teardown, NULL},
        {"add, incr, add, decr",
         test_add_incr_add_decr,
         test_setup, teardown, NULL},
        {"add, incr, add, decrWithDefault",
         test_add_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, add, delay",
         test_add_incr_add_delay,
         test_setup, teardown, NULL},
        {"add, incr, add, delete",
         test_add_incr_add_delete,
         test_setup, teardown, NULL},
        {"add, incr, add, flush",
         test_add_incr_add_flush,
         test_setup, teardown, NULL},
        {"add, incr, add, incr",
         test_add_incr_add_incr,
         test_setup, teardown, NULL},
        {"add, incr, add, incrWithDefault",
         test_add_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, add, prepend",
         test_add_incr_add_prepend,
         test_setup, teardown, NULL},
        {"add, incr, add, set",
         test_add_incr_add_set,
         test_setup, teardown, NULL},
        {"add, incr, append, add",
         test_add_incr_append_add,
         test_setup, teardown, NULL},
        {"add, incr, append, append",
         test_add_incr_append_append,
         test_setup, teardown, NULL},
        {"add, incr, append, decr",
         test_add_incr_append_decr,
         test_setup, teardown, NULL},
        {"add, incr, append, decrWithDefault",
         test_add_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, append, delay",
         test_add_incr_append_delay,
         test_setup, teardown, NULL},
        {"add, incr, append, delete",
         test_add_incr_append_delete,
         test_setup, teardown, NULL},
        {"add, incr, append, flush",
         test_add_incr_append_flush,
         test_setup, teardown, NULL},
        {"add, incr, append, incr",
         test_add_incr_append_incr,
         test_setup, teardown, NULL},
        {"add, incr, append, incrWithDefault",
         test_add_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, append, prepend",
         test_add_incr_append_prepend,
         test_setup, teardown, NULL},
        {"add, incr, append, set",
         test_add_incr_append_set,
         test_setup, teardown, NULL},
        {"add, incr, decr, add",
         test_add_incr_decr_add,
         test_setup, teardown, NULL},
        {"add, incr, decr, append",
         test_add_incr_decr_append,
         test_setup, teardown, NULL},
        {"add, incr, decr, decr",
         test_add_incr_decr_decr,
         test_setup, teardown, NULL},
        {"add, incr, decr, decrWithDefault",
         test_add_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, decr, delay",
         test_add_incr_decr_delay,
         test_setup, teardown, NULL},
        {"add, incr, decr, delete",
         test_add_incr_decr_delete,
         test_setup, teardown, NULL},
        {"add, incr, decr, flush",
         test_add_incr_decr_flush,
         test_setup, teardown, NULL},
        {"add, incr, decr, incr",
         test_add_incr_decr_incr,
         test_setup, teardown, NULL},
        {"add, incr, decr, incrWithDefault",
         test_add_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, decr, prepend",
         test_add_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"add, incr, decr, set",
         test_add_incr_decr_set,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, add",
         test_add_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, append",
         test_add_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, decr",
         test_add_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, decrWithDefault",
         test_add_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, delay",
         test_add_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, delete",
         test_add_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, flush",
         test_add_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, incr",
         test_add_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, incrWithDefault",
         test_add_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, prepend",
         test_add_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, incr, decrWithDefault, set",
         test_add_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, incr, delay, add",
         test_add_incr_delay_add,
         test_setup, teardown, NULL},
        {"add, incr, delay, append",
         test_add_incr_delay_append,
         test_setup, teardown, NULL},
        {"add, incr, delay, decr",
         test_add_incr_delay_decr,
         test_setup, teardown, NULL},
        {"add, incr, delay, decrWithDefault",
         test_add_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, delay, delay",
         test_add_incr_delay_delay,
         test_setup, teardown, NULL},
        {"add, incr, delay, delete",
         test_add_incr_delay_delete,
         test_setup, teardown, NULL},
        {"add, incr, delay, flush",
         test_add_incr_delay_flush,
         test_setup, teardown, NULL},
        {"add, incr, delay, incr",
         test_add_incr_delay_incr,
         test_setup, teardown, NULL},
        {"add, incr, delay, incrWithDefault",
         test_add_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, delay, prepend",
         test_add_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"add, incr, delay, set",
         test_add_incr_delay_set,
         test_setup, teardown, NULL},
        {"add, incr, delete, add",
         test_add_incr_delete_add,
         test_setup, teardown, NULL},
        {"add, incr, delete, append",
         test_add_incr_delete_append,
         test_setup, teardown, NULL},
        {"add, incr, delete, decr",
         test_add_incr_delete_decr,
         test_setup, teardown, NULL},
        {"add, incr, delete, decrWithDefault",
         test_add_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, delete, delay",
         test_add_incr_delete_delay,
         test_setup, teardown, NULL},
        {"add, incr, delete, delete",
         test_add_incr_delete_delete,
         test_setup, teardown, NULL},
        {"add, incr, delete, flush",
         test_add_incr_delete_flush,
         test_setup, teardown, NULL},
        {"add, incr, delete, incr",
         test_add_incr_delete_incr,
         test_setup, teardown, NULL},
        {"add, incr, delete, incrWithDefault",
         test_add_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, delete, prepend",
         test_add_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"add, incr, delete, set",
         test_add_incr_delete_set,
         test_setup, teardown, NULL},
        {"add, incr, flush, add",
         test_add_incr_flush_add,
         test_setup, teardown, NULL},
        {"add, incr, flush, append",
         test_add_incr_flush_append,
         test_setup, teardown, NULL},
        {"add, incr, flush, decr",
         test_add_incr_flush_decr,
         test_setup, teardown, NULL},
        {"add, incr, flush, decrWithDefault",
         test_add_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, flush, delay",
         test_add_incr_flush_delay,
         test_setup, teardown, NULL},
        {"add, incr, flush, delete",
         test_add_incr_flush_delete,
         test_setup, teardown, NULL},
        {"add, incr, flush, flush",
         test_add_incr_flush_flush,
         test_setup, teardown, NULL},
        {"add, incr, flush, incr",
         test_add_incr_flush_incr,
         test_setup, teardown, NULL},
        {"add, incr, flush, incrWithDefault",
         test_add_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, flush, prepend",
         test_add_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"add, incr, flush, set",
         test_add_incr_flush_set,
         test_setup, teardown, NULL},
        {"add, incr, incr, add",
         test_add_incr_incr_add,
         test_setup, teardown, NULL},
        {"add, incr, incr, append",
         test_add_incr_incr_append,
         test_setup, teardown, NULL},
        {"add, incr, incr, decr",
         test_add_incr_incr_decr,
         test_setup, teardown, NULL},
        {"add, incr, incr, decrWithDefault",
         test_add_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, incr, delay",
         test_add_incr_incr_delay,
         test_setup, teardown, NULL},
        {"add, incr, incr, delete",
         test_add_incr_incr_delete,
         test_setup, teardown, NULL},
        {"add, incr, incr, flush",
         test_add_incr_incr_flush,
         test_setup, teardown, NULL},
        {"add, incr, incr, incr",
         test_add_incr_incr_incr,
         test_setup, teardown, NULL},
        {"add, incr, incr, incrWithDefault",
         test_add_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, incr, prepend",
         test_add_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"add, incr, incr, set",
         test_add_incr_incr_set,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, add",
         test_add_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, append",
         test_add_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, decr",
         test_add_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, decrWithDefault",
         test_add_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, delay",
         test_add_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, delete",
         test_add_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, flush",
         test_add_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, incr",
         test_add_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, incrWithDefault",
         test_add_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, prepend",
         test_add_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, incr, incrWithDefault, set",
         test_add_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, incr, prepend, add",
         test_add_incr_prepend_add,
         test_setup, teardown, NULL},
        {"add, incr, prepend, append",
         test_add_incr_prepend_append,
         test_setup, teardown, NULL},
        {"add, incr, prepend, decr",
         test_add_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"add, incr, prepend, decrWithDefault",
         test_add_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, prepend, delay",
         test_add_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"add, incr, prepend, delete",
         test_add_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"add, incr, prepend, flush",
         test_add_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"add, incr, prepend, incr",
         test_add_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"add, incr, prepend, incrWithDefault",
         test_add_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, prepend, prepend",
         test_add_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, incr, prepend, set",
         test_add_incr_prepend_set,
         test_setup, teardown, NULL},
        {"add, incr, set, add",
         test_add_incr_set_add,
         test_setup, teardown, NULL},
        {"add, incr, set, append",
         test_add_incr_set_append,
         test_setup, teardown, NULL},
        {"add, incr, set, decr",
         test_add_incr_set_decr,
         test_setup, teardown, NULL},
        {"add, incr, set, decrWithDefault",
         test_add_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, set, delay",
         test_add_incr_set_delay,
         test_setup, teardown, NULL},
        {"add, incr, set, delete",
         test_add_incr_set_delete,
         test_setup, teardown, NULL},
        {"add, incr, set, flush",
         test_add_incr_set_flush,
         test_setup, teardown, NULL},
        {"add, incr, set, incr",
         test_add_incr_set_incr,
         test_setup, teardown, NULL},
        {"add, incr, set, incrWithDefault",
         test_add_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incr, set, prepend",
         test_add_incr_set_prepend,
         test_setup, teardown, NULL},
        {"add, incr, set, set",
         test_add_incr_set_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, add",
         test_add_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, append",
         test_add_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, decr",
         test_add_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, decrWithDefault",
         test_add_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, delay",
         test_add_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, delete",
         test_add_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, flush",
         test_add_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, incr",
         test_add_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, incrWithDefault",
         test_add_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, prepend",
         test_add_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, add, set",
         test_add_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, add",
         test_add_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, append",
         test_add_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, decr",
         test_add_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, decrWithDefault",
         test_add_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, delay",
         test_add_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, delete",
         test_add_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, flush",
         test_add_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, incr",
         test_add_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, incrWithDefault",
         test_add_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, prepend",
         test_add_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, append, set",
         test_add_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, add",
         test_add_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, append",
         test_add_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, decr",
         test_add_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, decrWithDefault",
         test_add_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, delay",
         test_add_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, delete",
         test_add_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, flush",
         test_add_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, incr",
         test_add_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, incrWithDefault",
         test_add_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, prepend",
         test_add_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decr, set",
         test_add_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, add",
         test_add_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, append",
         test_add_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, decr",
         test_add_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, decrWithDefault",
         test_add_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, delay",
         test_add_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, delete",
         test_add_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, flush",
         test_add_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, incr",
         test_add_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, incrWithDefault",
         test_add_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, prepend",
         test_add_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, decrWithDefault, set",
         test_add_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, add",
         test_add_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, append",
         test_add_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, decr",
         test_add_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, decrWithDefault",
         test_add_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, delay",
         test_add_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, delete",
         test_add_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, flush",
         test_add_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, incr",
         test_add_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, incrWithDefault",
         test_add_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, prepend",
         test_add_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delay, set",
         test_add_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, add",
         test_add_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, append",
         test_add_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, decr",
         test_add_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, decrWithDefault",
         test_add_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, delay",
         test_add_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, delete",
         test_add_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, flush",
         test_add_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, incr",
         test_add_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, incrWithDefault",
         test_add_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, prepend",
         test_add_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, delete, set",
         test_add_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, add",
         test_add_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, append",
         test_add_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, decr",
         test_add_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, decrWithDefault",
         test_add_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, delay",
         test_add_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, delete",
         test_add_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, flush",
         test_add_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, incr",
         test_add_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, incrWithDefault",
         test_add_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, prepend",
         test_add_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, flush, set",
         test_add_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, add",
         test_add_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, append",
         test_add_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, decr",
         test_add_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, decrWithDefault",
         test_add_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, delay",
         test_add_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, delete",
         test_add_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, flush",
         test_add_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, incr",
         test_add_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, incrWithDefault",
         test_add_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, prepend",
         test_add_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incr, set",
         test_add_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, add",
         test_add_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, append",
         test_add_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, decr",
         test_add_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, decrWithDefault",
         test_add_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, delay",
         test_add_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, delete",
         test_add_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, flush",
         test_add_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, incr",
         test_add_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, incrWithDefault",
         test_add_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, prepend",
         test_add_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, incrWithDefault, set",
         test_add_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, add",
         test_add_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, append",
         test_add_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, decr",
         test_add_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, decrWithDefault",
         test_add_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, delay",
         test_add_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, delete",
         test_add_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, flush",
         test_add_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, incr",
         test_add_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, incrWithDefault",
         test_add_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, prepend",
         test_add_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, prepend, set",
         test_add_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, add",
         test_add_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, append",
         test_add_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, decr",
         test_add_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, decrWithDefault",
         test_add_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, delay",
         test_add_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, delete",
         test_add_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, flush",
         test_add_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, incr",
         test_add_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, incrWithDefault",
         test_add_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, prepend",
         test_add_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"add, incrWithDefault, set, set",
         test_add_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"add, prepend, add, add",
         test_add_prepend_add_add,
         test_setup, teardown, NULL},
        {"add, prepend, add, append",
         test_add_prepend_add_append,
         test_setup, teardown, NULL},
        {"add, prepend, add, decr",
         test_add_prepend_add_decr,
         test_setup, teardown, NULL},
        {"add, prepend, add, decrWithDefault",
         test_add_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, add, delay",
         test_add_prepend_add_delay,
         test_setup, teardown, NULL},
        {"add, prepend, add, delete",
         test_add_prepend_add_delete,
         test_setup, teardown, NULL},
        {"add, prepend, add, flush",
         test_add_prepend_add_flush,
         test_setup, teardown, NULL},
        {"add, prepend, add, incr",
         test_add_prepend_add_incr,
         test_setup, teardown, NULL},
        {"add, prepend, add, incrWithDefault",
         test_add_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, add, prepend",
         test_add_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, add, set",
         test_add_prepend_add_set,
         test_setup, teardown, NULL},
        {"add, prepend, append, add",
         test_add_prepend_append_add,
         test_setup, teardown, NULL},
        {"add, prepend, append, append",
         test_add_prepend_append_append,
         test_setup, teardown, NULL},
        {"add, prepend, append, decr",
         test_add_prepend_append_decr,
         test_setup, teardown, NULL},
        {"add, prepend, append, decrWithDefault",
         test_add_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, append, delay",
         test_add_prepend_append_delay,
         test_setup, teardown, NULL},
        {"add, prepend, append, delete",
         test_add_prepend_append_delete,
         test_setup, teardown, NULL},
        {"add, prepend, append, flush",
         test_add_prepend_append_flush,
         test_setup, teardown, NULL},
        {"add, prepend, append, incr",
         test_add_prepend_append_incr,
         test_setup, teardown, NULL},
        {"add, prepend, append, incrWithDefault",
         test_add_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, append, prepend",
         test_add_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, append, set",
         test_add_prepend_append_set,
         test_setup, teardown, NULL},
        {"add, prepend, decr, add",
         test_add_prepend_decr_add,
         test_setup, teardown, NULL},
        {"add, prepend, decr, append",
         test_add_prepend_decr_append,
         test_setup, teardown, NULL},
        {"add, prepend, decr, decr",
         test_add_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"add, prepend, decr, decrWithDefault",
         test_add_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, decr, delay",
         test_add_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"add, prepend, decr, delete",
         test_add_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"add, prepend, decr, flush",
         test_add_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"add, prepend, decr, incr",
         test_add_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"add, prepend, decr, incrWithDefault",
         test_add_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, decr, prepend",
         test_add_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, decr, set",
         test_add_prepend_decr_set,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, add",
         test_add_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, append",
         test_add_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, decr",
         test_add_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, decrWithDefault",
         test_add_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, delay",
         test_add_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, delete",
         test_add_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, flush",
         test_add_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, incr",
         test_add_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, incrWithDefault",
         test_add_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, prepend",
         test_add_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, decrWithDefault, set",
         test_add_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, prepend, delay, add",
         test_add_prepend_delay_add,
         test_setup, teardown, NULL},
        {"add, prepend, delay, append",
         test_add_prepend_delay_append,
         test_setup, teardown, NULL},
        {"add, prepend, delay, decr",
         test_add_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"add, prepend, delay, decrWithDefault",
         test_add_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, delay, delay",
         test_add_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"add, prepend, delay, delete",
         test_add_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"add, prepend, delay, flush",
         test_add_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"add, prepend, delay, incr",
         test_add_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"add, prepend, delay, incrWithDefault",
         test_add_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, delay, prepend",
         test_add_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, delay, set",
         test_add_prepend_delay_set,
         test_setup, teardown, NULL},
        {"add, prepend, delete, add",
         test_add_prepend_delete_add,
         test_setup, teardown, NULL},
        {"add, prepend, delete, append",
         test_add_prepend_delete_append,
         test_setup, teardown, NULL},
        {"add, prepend, delete, decr",
         test_add_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"add, prepend, delete, decrWithDefault",
         test_add_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, delete, delay",
         test_add_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"add, prepend, delete, delete",
         test_add_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"add, prepend, delete, flush",
         test_add_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"add, prepend, delete, incr",
         test_add_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"add, prepend, delete, incrWithDefault",
         test_add_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, delete, prepend",
         test_add_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, delete, set",
         test_add_prepend_delete_set,
         test_setup, teardown, NULL},
        {"add, prepend, flush, add",
         test_add_prepend_flush_add,
         test_setup, teardown, NULL},
        {"add, prepend, flush, append",
         test_add_prepend_flush_append,
         test_setup, teardown, NULL},
        {"add, prepend, flush, decr",
         test_add_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"add, prepend, flush, decrWithDefault",
         test_add_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, flush, delay",
         test_add_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"add, prepend, flush, delete",
         test_add_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"add, prepend, flush, flush",
         test_add_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"add, prepend, flush, incr",
         test_add_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"add, prepend, flush, incrWithDefault",
         test_add_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, flush, prepend",
         test_add_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, flush, set",
         test_add_prepend_flush_set,
         test_setup, teardown, NULL},
        {"add, prepend, incr, add",
         test_add_prepend_incr_add,
         test_setup, teardown, NULL},
        {"add, prepend, incr, append",
         test_add_prepend_incr_append,
         test_setup, teardown, NULL},
        {"add, prepend, incr, decr",
         test_add_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"add, prepend, incr, decrWithDefault",
         test_add_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, incr, delay",
         test_add_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"add, prepend, incr, delete",
         test_add_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"add, prepend, incr, flush",
         test_add_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"add, prepend, incr, incr",
         test_add_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"add, prepend, incr, incrWithDefault",
         test_add_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, incr, prepend",
         test_add_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, incr, set",
         test_add_prepend_incr_set,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, add",
         test_add_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, append",
         test_add_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, decr",
         test_add_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, decrWithDefault",
         test_add_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, delay",
         test_add_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, delete",
         test_add_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, flush",
         test_add_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, incr",
         test_add_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, incrWithDefault",
         test_add_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, prepend",
         test_add_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, incrWithDefault, set",
         test_add_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, add",
         test_add_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, append",
         test_add_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, decr",
         test_add_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, decrWithDefault",
         test_add_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, delay",
         test_add_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, delete",
         test_add_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, flush",
         test_add_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, incr",
         test_add_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, incrWithDefault",
         test_add_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, prepend",
         test_add_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, prepend, set",
         test_add_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"add, prepend, set, add",
         test_add_prepend_set_add,
         test_setup, teardown, NULL},
        {"add, prepend, set, append",
         test_add_prepend_set_append,
         test_setup, teardown, NULL},
        {"add, prepend, set, decr",
         test_add_prepend_set_decr,
         test_setup, teardown, NULL},
        {"add, prepend, set, decrWithDefault",
         test_add_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, set, delay",
         test_add_prepend_set_delay,
         test_setup, teardown, NULL},
        {"add, prepend, set, delete",
         test_add_prepend_set_delete,
         test_setup, teardown, NULL},
        {"add, prepend, set, flush",
         test_add_prepend_set_flush,
         test_setup, teardown, NULL},
        {"add, prepend, set, incr",
         test_add_prepend_set_incr,
         test_setup, teardown, NULL},
        {"add, prepend, set, incrWithDefault",
         test_add_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, prepend, set, prepend",
         test_add_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"add, prepend, set, set",
         test_add_prepend_set_set,
         test_setup, teardown, NULL},
        {"add, set, add, add",
         test_add_set_add_add,
         test_setup, teardown, NULL},
        {"add, set, add, append",
         test_add_set_add_append,
         test_setup, teardown, NULL},
        {"add, set, add, decr",
         test_add_set_add_decr,
         test_setup, teardown, NULL},
        {"add, set, add, decrWithDefault",
         test_add_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, add, delay",
         test_add_set_add_delay,
         test_setup, teardown, NULL},
        {"add, set, add, delete",
         test_add_set_add_delete,
         test_setup, teardown, NULL},
        {"add, set, add, flush",
         test_add_set_add_flush,
         test_setup, teardown, NULL},
        {"add, set, add, incr",
         test_add_set_add_incr,
         test_setup, teardown, NULL},
        {"add, set, add, incrWithDefault",
         test_add_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, add, prepend",
         test_add_set_add_prepend,
         test_setup, teardown, NULL},
        {"add, set, add, set",
         test_add_set_add_set,
         test_setup, teardown, NULL},
        {"add, set, append, add",
         test_add_set_append_add,
         test_setup, teardown, NULL},
        {"add, set, append, append",
         test_add_set_append_append,
         test_setup, teardown, NULL},
        {"add, set, append, decr",
         test_add_set_append_decr,
         test_setup, teardown, NULL},
        {"add, set, append, decrWithDefault",
         test_add_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, append, delay",
         test_add_set_append_delay,
         test_setup, teardown, NULL},
        {"add, set, append, delete",
         test_add_set_append_delete,
         test_setup, teardown, NULL},
        {"add, set, append, flush",
         test_add_set_append_flush,
         test_setup, teardown, NULL},
        {"add, set, append, incr",
         test_add_set_append_incr,
         test_setup, teardown, NULL},
        {"add, set, append, incrWithDefault",
         test_add_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, append, prepend",
         test_add_set_append_prepend,
         test_setup, teardown, NULL},
        {"add, set, append, set",
         test_add_set_append_set,
         test_setup, teardown, NULL},
        {"add, set, decr, add",
         test_add_set_decr_add,
         test_setup, teardown, NULL},
        {"add, set, decr, append",
         test_add_set_decr_append,
         test_setup, teardown, NULL},
        {"add, set, decr, decr",
         test_add_set_decr_decr,
         test_setup, teardown, NULL},
        {"add, set, decr, decrWithDefault",
         test_add_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, decr, delay",
         test_add_set_decr_delay,
         test_setup, teardown, NULL},
        {"add, set, decr, delete",
         test_add_set_decr_delete,
         test_setup, teardown, NULL},
        {"add, set, decr, flush",
         test_add_set_decr_flush,
         test_setup, teardown, NULL},
        {"add, set, decr, incr",
         test_add_set_decr_incr,
         test_setup, teardown, NULL},
        {"add, set, decr, incrWithDefault",
         test_add_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, decr, prepend",
         test_add_set_decr_prepend,
         test_setup, teardown, NULL},
        {"add, set, decr, set",
         test_add_set_decr_set,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, add",
         test_add_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, append",
         test_add_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, decr",
         test_add_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, decrWithDefault",
         test_add_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, delay",
         test_add_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, delete",
         test_add_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, flush",
         test_add_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, incr",
         test_add_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, incrWithDefault",
         test_add_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, prepend",
         test_add_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, set, decrWithDefault, set",
         test_add_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, set, delay, add",
         test_add_set_delay_add,
         test_setup, teardown, NULL},
        {"add, set, delay, append",
         test_add_set_delay_append,
         test_setup, teardown, NULL},
        {"add, set, delay, decr",
         test_add_set_delay_decr,
         test_setup, teardown, NULL},
        {"add, set, delay, decrWithDefault",
         test_add_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, delay, delay",
         test_add_set_delay_delay,
         test_setup, teardown, NULL},
        {"add, set, delay, delete",
         test_add_set_delay_delete,
         test_setup, teardown, NULL},
        {"add, set, delay, flush",
         test_add_set_delay_flush,
         test_setup, teardown, NULL},
        {"add, set, delay, incr",
         test_add_set_delay_incr,
         test_setup, teardown, NULL},
        {"add, set, delay, incrWithDefault",
         test_add_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, delay, prepend",
         test_add_set_delay_prepend,
         test_setup, teardown, NULL},
        {"add, set, delay, set",
         test_add_set_delay_set,
         test_setup, teardown, NULL},
        {"add, set, delete, add",
         test_add_set_delete_add,
         test_setup, teardown, NULL},
        {"add, set, delete, append",
         test_add_set_delete_append,
         test_setup, teardown, NULL},
        {"add, set, delete, decr",
         test_add_set_delete_decr,
         test_setup, teardown, NULL},
        {"add, set, delete, decrWithDefault",
         test_add_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, delete, delay",
         test_add_set_delete_delay,
         test_setup, teardown, NULL},
        {"add, set, delete, delete",
         test_add_set_delete_delete,
         test_setup, teardown, NULL},
        {"add, set, delete, flush",
         test_add_set_delete_flush,
         test_setup, teardown, NULL},
        {"add, set, delete, incr",
         test_add_set_delete_incr,
         test_setup, teardown, NULL},
        {"add, set, delete, incrWithDefault",
         test_add_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, delete, prepend",
         test_add_set_delete_prepend,
         test_setup, teardown, NULL},
        {"add, set, delete, set",
         test_add_set_delete_set,
         test_setup, teardown, NULL},
        {"add, set, flush, add",
         test_add_set_flush_add,
         test_setup, teardown, NULL},
        {"add, set, flush, append",
         test_add_set_flush_append,
         test_setup, teardown, NULL},
        {"add, set, flush, decr",
         test_add_set_flush_decr,
         test_setup, teardown, NULL},
        {"add, set, flush, decrWithDefault",
         test_add_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, flush, delay",
         test_add_set_flush_delay,
         test_setup, teardown, NULL},
        {"add, set, flush, delete",
         test_add_set_flush_delete,
         test_setup, teardown, NULL},
        {"add, set, flush, flush",
         test_add_set_flush_flush,
         test_setup, teardown, NULL},
        {"add, set, flush, incr",
         test_add_set_flush_incr,
         test_setup, teardown, NULL},
        {"add, set, flush, incrWithDefault",
         test_add_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, flush, prepend",
         test_add_set_flush_prepend,
         test_setup, teardown, NULL},
        {"add, set, flush, set",
         test_add_set_flush_set,
         test_setup, teardown, NULL},
        {"add, set, incr, add",
         test_add_set_incr_add,
         test_setup, teardown, NULL},
        {"add, set, incr, append",
         test_add_set_incr_append,
         test_setup, teardown, NULL},
        {"add, set, incr, decr",
         test_add_set_incr_decr,
         test_setup, teardown, NULL},
        {"add, set, incr, decrWithDefault",
         test_add_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, incr, delay",
         test_add_set_incr_delay,
         test_setup, teardown, NULL},
        {"add, set, incr, delete",
         test_add_set_incr_delete,
         test_setup, teardown, NULL},
        {"add, set, incr, flush",
         test_add_set_incr_flush,
         test_setup, teardown, NULL},
        {"add, set, incr, incr",
         test_add_set_incr_incr,
         test_setup, teardown, NULL},
        {"add, set, incr, incrWithDefault",
         test_add_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, incr, prepend",
         test_add_set_incr_prepend,
         test_setup, teardown, NULL},
        {"add, set, incr, set",
         test_add_set_incr_set,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, add",
         test_add_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, append",
         test_add_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, decr",
         test_add_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, decrWithDefault",
         test_add_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, delay",
         test_add_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, delete",
         test_add_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, flush",
         test_add_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, incr",
         test_add_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, incrWithDefault",
         test_add_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, prepend",
         test_add_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"add, set, incrWithDefault, set",
         test_add_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"add, set, prepend, add",
         test_add_set_prepend_add,
         test_setup, teardown, NULL},
        {"add, set, prepend, append",
         test_add_set_prepend_append,
         test_setup, teardown, NULL},
        {"add, set, prepend, decr",
         test_add_set_prepend_decr,
         test_setup, teardown, NULL},
        {"add, set, prepend, decrWithDefault",
         test_add_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, prepend, delay",
         test_add_set_prepend_delay,
         test_setup, teardown, NULL},
        {"add, set, prepend, delete",
         test_add_set_prepend_delete,
         test_setup, teardown, NULL},
        {"add, set, prepend, flush",
         test_add_set_prepend_flush,
         test_setup, teardown, NULL},
        {"add, set, prepend, incr",
         test_add_set_prepend_incr,
         test_setup, teardown, NULL},
        {"add, set, prepend, incrWithDefault",
         test_add_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, prepend, prepend",
         test_add_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"add, set, prepend, set",
         test_add_set_prepend_set,
         test_setup, teardown, NULL},
        {"add, set, set, add",
         test_add_set_set_add,
         test_setup, teardown, NULL},
        {"add, set, set, append",
         test_add_set_set_append,
         test_setup, teardown, NULL},
        {"add, set, set, decr",
         test_add_set_set_decr,
         test_setup, teardown, NULL},
        {"add, set, set, decrWithDefault",
         test_add_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, set, delay",
         test_add_set_set_delay,
         test_setup, teardown, NULL},
        {"add, set, set, delete",
         test_add_set_set_delete,
         test_setup, teardown, NULL},
        {"add, set, set, flush",
         test_add_set_set_flush,
         test_setup, teardown, NULL},
        {"add, set, set, incr",
         test_add_set_set_incr,
         test_setup, teardown, NULL},
        {"add, set, set, incrWithDefault",
         test_add_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"add, set, set, prepend",
         test_add_set_set_prepend,
         test_setup, teardown, NULL},
        {"add, set, set, set",
         test_add_set_set_set,
         test_setup, teardown, NULL},
        {"append, add, add, add",
         test_append_add_add_add,
         test_setup, teardown, NULL},
        {"append, add, add, append",
         test_append_add_add_append,
         test_setup, teardown, NULL},
        {"append, add, add, decr",
         test_append_add_add_decr,
         test_setup, teardown, NULL},
        {"append, add, add, decrWithDefault",
         test_append_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, add, delay",
         test_append_add_add_delay,
         test_setup, teardown, NULL},
        {"append, add, add, delete",
         test_append_add_add_delete,
         test_setup, teardown, NULL},
        {"append, add, add, flush",
         test_append_add_add_flush,
         test_setup, teardown, NULL},
        {"append, add, add, incr",
         test_append_add_add_incr,
         test_setup, teardown, NULL},
        {"append, add, add, incrWithDefault",
         test_append_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, add, prepend",
         test_append_add_add_prepend,
         test_setup, teardown, NULL},
        {"append, add, add, set",
         test_append_add_add_set,
         test_setup, teardown, NULL},
        {"append, add, append, add",
         test_append_add_append_add,
         test_setup, teardown, NULL},
        {"append, add, append, append",
         test_append_add_append_append,
         test_setup, teardown, NULL},
        {"append, add, append, decr",
         test_append_add_append_decr,
         test_setup, teardown, NULL},
        {"append, add, append, decrWithDefault",
         test_append_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, append, delay",
         test_append_add_append_delay,
         test_setup, teardown, NULL},
        {"append, add, append, delete",
         test_append_add_append_delete,
         test_setup, teardown, NULL},
        {"append, add, append, flush",
         test_append_add_append_flush,
         test_setup, teardown, NULL},
        {"append, add, append, incr",
         test_append_add_append_incr,
         test_setup, teardown, NULL},
        {"append, add, append, incrWithDefault",
         test_append_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, append, prepend",
         test_append_add_append_prepend,
         test_setup, teardown, NULL},
        {"append, add, append, set",
         test_append_add_append_set,
         test_setup, teardown, NULL},
        {"append, add, decr, add",
         test_append_add_decr_add,
         test_setup, teardown, NULL},
        {"append, add, decr, append",
         test_append_add_decr_append,
         test_setup, teardown, NULL},
        {"append, add, decr, decr",
         test_append_add_decr_decr,
         test_setup, teardown, NULL},
        {"append, add, decr, decrWithDefault",
         test_append_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, decr, delay",
         test_append_add_decr_delay,
         test_setup, teardown, NULL},
        {"append, add, decr, delete",
         test_append_add_decr_delete,
         test_setup, teardown, NULL},
        {"append, add, decr, flush",
         test_append_add_decr_flush,
         test_setup, teardown, NULL},
        {"append, add, decr, incr",
         test_append_add_decr_incr,
         test_setup, teardown, NULL},
        {"append, add, decr, incrWithDefault",
         test_append_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, decr, prepend",
         test_append_add_decr_prepend,
         test_setup, teardown, NULL},
        {"append, add, decr, set",
         test_append_add_decr_set,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, add",
         test_append_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, append",
         test_append_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, decr",
         test_append_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, decrWithDefault",
         test_append_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, delay",
         test_append_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, delete",
         test_append_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, flush",
         test_append_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, incr",
         test_append_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, incrWithDefault",
         test_append_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, prepend",
         test_append_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, add, decrWithDefault, set",
         test_append_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, add, delay, add",
         test_append_add_delay_add,
         test_setup, teardown, NULL},
        {"append, add, delay, append",
         test_append_add_delay_append,
         test_setup, teardown, NULL},
        {"append, add, delay, decr",
         test_append_add_delay_decr,
         test_setup, teardown, NULL},
        {"append, add, delay, decrWithDefault",
         test_append_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, delay, delay",
         test_append_add_delay_delay,
         test_setup, teardown, NULL},
        {"append, add, delay, delete",
         test_append_add_delay_delete,
         test_setup, teardown, NULL},
        {"append, add, delay, flush",
         test_append_add_delay_flush,
         test_setup, teardown, NULL},
        {"append, add, delay, incr",
         test_append_add_delay_incr,
         test_setup, teardown, NULL},
        {"append, add, delay, incrWithDefault",
         test_append_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, delay, prepend",
         test_append_add_delay_prepend,
         test_setup, teardown, NULL},
        {"append, add, delay, set",
         test_append_add_delay_set,
         test_setup, teardown, NULL},
        {"append, add, delete, add",
         test_append_add_delete_add,
         test_setup, teardown, NULL},
        {"append, add, delete, append",
         test_append_add_delete_append,
         test_setup, teardown, NULL},
        {"append, add, delete, decr",
         test_append_add_delete_decr,
         test_setup, teardown, NULL},
        {"append, add, delete, decrWithDefault",
         test_append_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, delete, delay",
         test_append_add_delete_delay,
         test_setup, teardown, NULL},
        {"append, add, delete, delete",
         test_append_add_delete_delete,
         test_setup, teardown, NULL},
        {"append, add, delete, flush",
         test_append_add_delete_flush,
         test_setup, teardown, NULL},
        {"append, add, delete, incr",
         test_append_add_delete_incr,
         test_setup, teardown, NULL},
        {"append, add, delete, incrWithDefault",
         test_append_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, delete, prepend",
         test_append_add_delete_prepend,
         test_setup, teardown, NULL},
        {"append, add, delete, set",
         test_append_add_delete_set,
         test_setup, teardown, NULL},
        {"append, add, flush, add",
         test_append_add_flush_add,
         test_setup, teardown, NULL},
        {"append, add, flush, append",
         test_append_add_flush_append,
         test_setup, teardown, NULL},
        {"append, add, flush, decr",
         test_append_add_flush_decr,
         test_setup, teardown, NULL},
        {"append, add, flush, decrWithDefault",
         test_append_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, flush, delay",
         test_append_add_flush_delay,
         test_setup, teardown, NULL},
        {"append, add, flush, delete",
         test_append_add_flush_delete,
         test_setup, teardown, NULL},
        {"append, add, flush, flush",
         test_append_add_flush_flush,
         test_setup, teardown, NULL},
        {"append, add, flush, incr",
         test_append_add_flush_incr,
         test_setup, teardown, NULL},
        {"append, add, flush, incrWithDefault",
         test_append_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, flush, prepend",
         test_append_add_flush_prepend,
         test_setup, teardown, NULL},
        {"append, add, flush, set",
         test_append_add_flush_set,
         test_setup, teardown, NULL},
        {"append, add, incr, add",
         test_append_add_incr_add,
         test_setup, teardown, NULL},
        {"append, add, incr, append",
         test_append_add_incr_append,
         test_setup, teardown, NULL},
        {"append, add, incr, decr",
         test_append_add_incr_decr,
         test_setup, teardown, NULL},
        {"append, add, incr, decrWithDefault",
         test_append_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, incr, delay",
         test_append_add_incr_delay,
         test_setup, teardown, NULL},
        {"append, add, incr, delete",
         test_append_add_incr_delete,
         test_setup, teardown, NULL},
        {"append, add, incr, flush",
         test_append_add_incr_flush,
         test_setup, teardown, NULL},
        {"append, add, incr, incr",
         test_append_add_incr_incr,
         test_setup, teardown, NULL},
        {"append, add, incr, incrWithDefault",
         test_append_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, incr, prepend",
         test_append_add_incr_prepend,
         test_setup, teardown, NULL},
        {"append, add, incr, set",
         test_append_add_incr_set,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, add",
         test_append_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, append",
         test_append_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, decr",
         test_append_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, decrWithDefault",
         test_append_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, delay",
         test_append_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, delete",
         test_append_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, flush",
         test_append_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, incr",
         test_append_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, incrWithDefault",
         test_append_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, prepend",
         test_append_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, add, incrWithDefault, set",
         test_append_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, add, prepend, add",
         test_append_add_prepend_add,
         test_setup, teardown, NULL},
        {"append, add, prepend, append",
         test_append_add_prepend_append,
         test_setup, teardown, NULL},
        {"append, add, prepend, decr",
         test_append_add_prepend_decr,
         test_setup, teardown, NULL},
        {"append, add, prepend, decrWithDefault",
         test_append_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, prepend, delay",
         test_append_add_prepend_delay,
         test_setup, teardown, NULL},
        {"append, add, prepend, delete",
         test_append_add_prepend_delete,
         test_setup, teardown, NULL},
        {"append, add, prepend, flush",
         test_append_add_prepend_flush,
         test_setup, teardown, NULL},
        {"append, add, prepend, incr",
         test_append_add_prepend_incr,
         test_setup, teardown, NULL},
        {"append, add, prepend, incrWithDefault",
         test_append_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, prepend, prepend",
         test_append_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, add, prepend, set",
         test_append_add_prepend_set,
         test_setup, teardown, NULL},
        {"append, add, set, add",
         test_append_add_set_add,
         test_setup, teardown, NULL},
        {"append, add, set, append",
         test_append_add_set_append,
         test_setup, teardown, NULL},
        {"append, add, set, decr",
         test_append_add_set_decr,
         test_setup, teardown, NULL},
        {"append, add, set, decrWithDefault",
         test_append_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, set, delay",
         test_append_add_set_delay,
         test_setup, teardown, NULL},
        {"append, add, set, delete",
         test_append_add_set_delete,
         test_setup, teardown, NULL},
        {"append, add, set, flush",
         test_append_add_set_flush,
         test_setup, teardown, NULL},
        {"append, add, set, incr",
         test_append_add_set_incr,
         test_setup, teardown, NULL},
        {"append, add, set, incrWithDefault",
         test_append_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, add, set, prepend",
         test_append_add_set_prepend,
         test_setup, teardown, NULL},
        {"append, add, set, set",
         test_append_add_set_set,
         test_setup, teardown, NULL},
        {"append, append, add, add",
         test_append_append_add_add,
         test_setup, teardown, NULL},
        {"append, append, add, append",
         test_append_append_add_append,
         test_setup, teardown, NULL},
        {"append, append, add, decr",
         test_append_append_add_decr,
         test_setup, teardown, NULL},
        {"append, append, add, decrWithDefault",
         test_append_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, add, delay",
         test_append_append_add_delay,
         test_setup, teardown, NULL},
        {"append, append, add, delete",
         test_append_append_add_delete,
         test_setup, teardown, NULL},
        {"append, append, add, flush",
         test_append_append_add_flush,
         test_setup, teardown, NULL},
        {"append, append, add, incr",
         test_append_append_add_incr,
         test_setup, teardown, NULL},
        {"append, append, add, incrWithDefault",
         test_append_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, add, prepend",
         test_append_append_add_prepend,
         test_setup, teardown, NULL},
        {"append, append, add, set",
         test_append_append_add_set,
         test_setup, teardown, NULL},
        {"append, append, append, add",
         test_append_append_append_add,
         test_setup, teardown, NULL},
        {"append, append, append, decr",
         test_append_append_append_decr,
         test_setup, teardown, NULL},
        {"append, append, append, decrWithDefault",
         test_append_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, append, delay",
         test_append_append_append_delay,
         test_setup, teardown, NULL},
        {"append, append, append, delete",
         test_append_append_append_delete,
         test_setup, teardown, NULL},
        {"append, append, append, flush",
         test_append_append_append_flush,
         test_setup, teardown, NULL},
        {"append, append, append, incr",
         test_append_append_append_incr,
         test_setup, teardown, NULL},
        {"append, append, append, incrWithDefault",
         test_append_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, append, prepend",
         test_append_append_append_prepend,
         test_setup, teardown, NULL},
        {"append, append, append, set",
         test_append_append_append_set,
         test_setup, teardown, NULL},
        {"append, append, decr, add",
         test_append_append_decr_add,
         test_setup, teardown, NULL},
        {"append, append, decr, append",
         test_append_append_decr_append,
         test_setup, teardown, NULL},
        {"append, append, decr, decr",
         test_append_append_decr_decr,
         test_setup, teardown, NULL},
        {"append, append, decr, decrWithDefault",
         test_append_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, decr, delay",
         test_append_append_decr_delay,
         test_setup, teardown, NULL},
        {"append, append, decr, delete",
         test_append_append_decr_delete,
         test_setup, teardown, NULL},
        {"append, append, decr, flush",
         test_append_append_decr_flush,
         test_setup, teardown, NULL},
        {"append, append, decr, incr",
         test_append_append_decr_incr,
         test_setup, teardown, NULL},
        {"append, append, decr, incrWithDefault",
         test_append_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, decr, prepend",
         test_append_append_decr_prepend,
         test_setup, teardown, NULL},
        {"append, append, decr, set",
         test_append_append_decr_set,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, add",
         test_append_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, append",
         test_append_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, decr",
         test_append_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, decrWithDefault",
         test_append_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, delay",
         test_append_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, delete",
         test_append_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, flush",
         test_append_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, incr",
         test_append_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, incrWithDefault",
         test_append_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, prepend",
         test_append_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, append, decrWithDefault, set",
         test_append_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, append, delay, add",
         test_append_append_delay_add,
         test_setup, teardown, NULL},
        {"append, append, delay, append",
         test_append_append_delay_append,
         test_setup, teardown, NULL},
        {"append, append, delay, decr",
         test_append_append_delay_decr,
         test_setup, teardown, NULL},
        {"append, append, delay, decrWithDefault",
         test_append_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, delay, delay",
         test_append_append_delay_delay,
         test_setup, teardown, NULL},
        {"append, append, delay, delete",
         test_append_append_delay_delete,
         test_setup, teardown, NULL},
        {"append, append, delay, flush",
         test_append_append_delay_flush,
         test_setup, teardown, NULL},
        {"append, append, delay, incr",
         test_append_append_delay_incr,
         test_setup, teardown, NULL},
        {"append, append, delay, incrWithDefault",
         test_append_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, delay, prepend",
         test_append_append_delay_prepend,
         test_setup, teardown, NULL},
        {"append, append, delay, set",
         test_append_append_delay_set,
         test_setup, teardown, NULL},
        {"append, append, delete, add",
         test_append_append_delete_add,
         test_setup, teardown, NULL},
        {"append, append, delete, append",
         test_append_append_delete_append,
         test_setup, teardown, NULL},
        {"append, append, delete, decr",
         test_append_append_delete_decr,
         test_setup, teardown, NULL},
        {"append, append, delete, decrWithDefault",
         test_append_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, delete, delay",
         test_append_append_delete_delay,
         test_setup, teardown, NULL},
        {"append, append, delete, delete",
         test_append_append_delete_delete,
         test_setup, teardown, NULL},
        {"append, append, delete, flush",
         test_append_append_delete_flush,
         test_setup, teardown, NULL},
        {"append, append, delete, incr",
         test_append_append_delete_incr,
         test_setup, teardown, NULL},
        {"append, append, delete, incrWithDefault",
         test_append_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, delete, prepend",
         test_append_append_delete_prepend,
         test_setup, teardown, NULL},
        {"append, append, delete, set",
         test_append_append_delete_set,
         test_setup, teardown, NULL},
        {"append, append, flush, add",
         test_append_append_flush_add,
         test_setup, teardown, NULL},
        {"append, append, flush, append",
         test_append_append_flush_append,
         test_setup, teardown, NULL},
        {"append, append, flush, decr",
         test_append_append_flush_decr,
         test_setup, teardown, NULL},
        {"append, append, flush, decrWithDefault",
         test_append_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, flush, delay",
         test_append_append_flush_delay,
         test_setup, teardown, NULL},
        {"append, append, flush, delete",
         test_append_append_flush_delete,
         test_setup, teardown, NULL},
        {"append, append, flush, flush",
         test_append_append_flush_flush,
         test_setup, teardown, NULL},
        {"append, append, flush, incr",
         test_append_append_flush_incr,
         test_setup, teardown, NULL},
        {"append, append, flush, incrWithDefault",
         test_append_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, flush, prepend",
         test_append_append_flush_prepend,
         test_setup, teardown, NULL},
        {"append, append, flush, set",
         test_append_append_flush_set,
         test_setup, teardown, NULL},
        {"append, append, incr, add",
         test_append_append_incr_add,
         test_setup, teardown, NULL},
        {"append, append, incr, append",
         test_append_append_incr_append,
         test_setup, teardown, NULL},
        {"append, append, incr, decr",
         test_append_append_incr_decr,
         test_setup, teardown, NULL},
        {"append, append, incr, decrWithDefault",
         test_append_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, incr, delay",
         test_append_append_incr_delay,
         test_setup, teardown, NULL},
        {"append, append, incr, delete",
         test_append_append_incr_delete,
         test_setup, teardown, NULL},
        {"append, append, incr, flush",
         test_append_append_incr_flush,
         test_setup, teardown, NULL},
        {"append, append, incr, incr",
         test_append_append_incr_incr,
         test_setup, teardown, NULL},
        {"append, append, incr, incrWithDefault",
         test_append_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, incr, prepend",
         test_append_append_incr_prepend,
         test_setup, teardown, NULL},
        {"append, append, incr, set",
         test_append_append_incr_set,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, add",
         test_append_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, append",
         test_append_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, decr",
         test_append_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, decrWithDefault",
         test_append_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, delay",
         test_append_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, delete",
         test_append_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, flush",
         test_append_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, incr",
         test_append_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, incrWithDefault",
         test_append_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, prepend",
         test_append_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, append, incrWithDefault, set",
         test_append_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, append, prepend, add",
         test_append_append_prepend_add,
         test_setup, teardown, NULL},
        {"append, append, prepend, append",
         test_append_append_prepend_append,
         test_setup, teardown, NULL},
        {"append, append, prepend, decr",
         test_append_append_prepend_decr,
         test_setup, teardown, NULL},
        {"append, append, prepend, decrWithDefault",
         test_append_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, prepend, delay",
         test_append_append_prepend_delay,
         test_setup, teardown, NULL},
        {"append, append, prepend, delete",
         test_append_append_prepend_delete,
         test_setup, teardown, NULL},
        {"append, append, prepend, flush",
         test_append_append_prepend_flush,
         test_setup, teardown, NULL},
        {"append, append, prepend, incr",
         test_append_append_prepend_incr,
         test_setup, teardown, NULL},
        {"append, append, prepend, incrWithDefault",
         test_append_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, prepend, prepend",
         test_append_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, append, prepend, set",
         test_append_append_prepend_set,
         test_setup, teardown, NULL},
        {"append, append, set, add",
         test_append_append_set_add,
         test_setup, teardown, NULL},
        {"append, append, set, append",
         test_append_append_set_append,
         test_setup, teardown, NULL},
        {"append, append, set, decr",
         test_append_append_set_decr,
         test_setup, teardown, NULL},
        {"append, append, set, decrWithDefault",
         test_append_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, set, delay",
         test_append_append_set_delay,
         test_setup, teardown, NULL},
        {"append, append, set, delete",
         test_append_append_set_delete,
         test_setup, teardown, NULL},
        {"append, append, set, flush",
         test_append_append_set_flush,
         test_setup, teardown, NULL},
        {"append, append, set, incr",
         test_append_append_set_incr,
         test_setup, teardown, NULL},
        {"append, append, set, incrWithDefault",
         test_append_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, append, set, prepend",
         test_append_append_set_prepend,
         test_setup, teardown, NULL},
        {"append, append, set, set",
         test_append_append_set_set,
         test_setup, teardown, NULL},
        {"append, decr, add, add",
         test_append_decr_add_add,
         test_setup, teardown, NULL},
        {"append, decr, add, append",
         test_append_decr_add_append,
         test_setup, teardown, NULL},
        {"append, decr, add, decr",
         test_append_decr_add_decr,
         test_setup, teardown, NULL},
        {"append, decr, add, decrWithDefault",
         test_append_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, add, delay",
         test_append_decr_add_delay,
         test_setup, teardown, NULL},
        {"append, decr, add, delete",
         test_append_decr_add_delete,
         test_setup, teardown, NULL},
        {"append, decr, add, flush",
         test_append_decr_add_flush,
         test_setup, teardown, NULL},
        {"append, decr, add, incr",
         test_append_decr_add_incr,
         test_setup, teardown, NULL},
        {"append, decr, add, incrWithDefault",
         test_append_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, add, prepend",
         test_append_decr_add_prepend,
         test_setup, teardown, NULL},
        {"append, decr, add, set",
         test_append_decr_add_set,
         test_setup, teardown, NULL},
        {"append, decr, append, add",
         test_append_decr_append_add,
         test_setup, teardown, NULL},
        {"append, decr, append, append",
         test_append_decr_append_append,
         test_setup, teardown, NULL},
        {"append, decr, append, decr",
         test_append_decr_append_decr,
         test_setup, teardown, NULL},
        {"append, decr, append, decrWithDefault",
         test_append_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, append, delay",
         test_append_decr_append_delay,
         test_setup, teardown, NULL},
        {"append, decr, append, delete",
         test_append_decr_append_delete,
         test_setup, teardown, NULL},
        {"append, decr, append, flush",
         test_append_decr_append_flush,
         test_setup, teardown, NULL},
        {"append, decr, append, incr",
         test_append_decr_append_incr,
         test_setup, teardown, NULL},
        {"append, decr, append, incrWithDefault",
         test_append_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, append, prepend",
         test_append_decr_append_prepend,
         test_setup, teardown, NULL},
        {"append, decr, append, set",
         test_append_decr_append_set,
         test_setup, teardown, NULL},
        {"append, decr, decr, add",
         test_append_decr_decr_add,
         test_setup, teardown, NULL},
        {"append, decr, decr, append",
         test_append_decr_decr_append,
         test_setup, teardown, NULL},
        {"append, decr, decr, decr",
         test_append_decr_decr_decr,
         test_setup, teardown, NULL},
        {"append, decr, decr, decrWithDefault",
         test_append_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, decr, delay",
         test_append_decr_decr_delay,
         test_setup, teardown, NULL},
        {"append, decr, decr, delete",
         test_append_decr_decr_delete,
         test_setup, teardown, NULL},
        {"append, decr, decr, flush",
         test_append_decr_decr_flush,
         test_setup, teardown, NULL},
        {"append, decr, decr, incr",
         test_append_decr_decr_incr,
         test_setup, teardown, NULL},
        {"append, decr, decr, incrWithDefault",
         test_append_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, decr, prepend",
         test_append_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"append, decr, decr, set",
         test_append_decr_decr_set,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, add",
         test_append_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, append",
         test_append_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, decr",
         test_append_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, decrWithDefault",
         test_append_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, delay",
         test_append_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, delete",
         test_append_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, flush",
         test_append_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, incr",
         test_append_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, incrWithDefault",
         test_append_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, prepend",
         test_append_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, decr, decrWithDefault, set",
         test_append_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, decr, delay, add",
         test_append_decr_delay_add,
         test_setup, teardown, NULL},
        {"append, decr, delay, append",
         test_append_decr_delay_append,
         test_setup, teardown, NULL},
        {"append, decr, delay, decr",
         test_append_decr_delay_decr,
         test_setup, teardown, NULL},
        {"append, decr, delay, decrWithDefault",
         test_append_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, delay, delay",
         test_append_decr_delay_delay,
         test_setup, teardown, NULL},
        {"append, decr, delay, delete",
         test_append_decr_delay_delete,
         test_setup, teardown, NULL},
        {"append, decr, delay, flush",
         test_append_decr_delay_flush,
         test_setup, teardown, NULL},
        {"append, decr, delay, incr",
         test_append_decr_delay_incr,
         test_setup, teardown, NULL},
        {"append, decr, delay, incrWithDefault",
         test_append_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, delay, prepend",
         test_append_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"append, decr, delay, set",
         test_append_decr_delay_set,
         test_setup, teardown, NULL},
        {"append, decr, delete, add",
         test_append_decr_delete_add,
         test_setup, teardown, NULL},
        {"append, decr, delete, append",
         test_append_decr_delete_append,
         test_setup, teardown, NULL},
        {"append, decr, delete, decr",
         test_append_decr_delete_decr,
         test_setup, teardown, NULL},
        {"append, decr, delete, decrWithDefault",
         test_append_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, delete, delay",
         test_append_decr_delete_delay,
         test_setup, teardown, NULL},
        {"append, decr, delete, delete",
         test_append_decr_delete_delete,
         test_setup, teardown, NULL},
        {"append, decr, delete, flush",
         test_append_decr_delete_flush,
         test_setup, teardown, NULL},
        {"append, decr, delete, incr",
         test_append_decr_delete_incr,
         test_setup, teardown, NULL},
        {"append, decr, delete, incrWithDefault",
         test_append_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, delete, prepend",
         test_append_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"append, decr, delete, set",
         test_append_decr_delete_set,
         test_setup, teardown, NULL},
        {"append, decr, flush, add",
         test_append_decr_flush_add,
         test_setup, teardown, NULL},
        {"append, decr, flush, append",
         test_append_decr_flush_append,
         test_setup, teardown, NULL},
        {"append, decr, flush, decr",
         test_append_decr_flush_decr,
         test_setup, teardown, NULL},
        {"append, decr, flush, decrWithDefault",
         test_append_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, flush, delay",
         test_append_decr_flush_delay,
         test_setup, teardown, NULL},
        {"append, decr, flush, delete",
         test_append_decr_flush_delete,
         test_setup, teardown, NULL},
        {"append, decr, flush, flush",
         test_append_decr_flush_flush,
         test_setup, teardown, NULL},
        {"append, decr, flush, incr",
         test_append_decr_flush_incr,
         test_setup, teardown, NULL},
        {"append, decr, flush, incrWithDefault",
         test_append_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, flush, prepend",
         test_append_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"append, decr, flush, set",
         test_append_decr_flush_set,
         test_setup, teardown, NULL},
        {"append, decr, incr, add",
         test_append_decr_incr_add,
         test_setup, teardown, NULL},
        {"append, decr, incr, append",
         test_append_decr_incr_append,
         test_setup, teardown, NULL},
        {"append, decr, incr, decr",
         test_append_decr_incr_decr,
         test_setup, teardown, NULL},
        {"append, decr, incr, decrWithDefault",
         test_append_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, incr, delay",
         test_append_decr_incr_delay,
         test_setup, teardown, NULL},
        {"append, decr, incr, delete",
         test_append_decr_incr_delete,
         test_setup, teardown, NULL},
        {"append, decr, incr, flush",
         test_append_decr_incr_flush,
         test_setup, teardown, NULL},
        {"append, decr, incr, incr",
         test_append_decr_incr_incr,
         test_setup, teardown, NULL},
        {"append, decr, incr, incrWithDefault",
         test_append_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, incr, prepend",
         test_append_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"append, decr, incr, set",
         test_append_decr_incr_set,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, add",
         test_append_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, append",
         test_append_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, decr",
         test_append_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, decrWithDefault",
         test_append_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, delay",
         test_append_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, delete",
         test_append_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, flush",
         test_append_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, incr",
         test_append_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, incrWithDefault",
         test_append_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, prepend",
         test_append_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, decr, incrWithDefault, set",
         test_append_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, decr, prepend, add",
         test_append_decr_prepend_add,
         test_setup, teardown, NULL},
        {"append, decr, prepend, append",
         test_append_decr_prepend_append,
         test_setup, teardown, NULL},
        {"append, decr, prepend, decr",
         test_append_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"append, decr, prepend, decrWithDefault",
         test_append_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, prepend, delay",
         test_append_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"append, decr, prepend, delete",
         test_append_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"append, decr, prepend, flush",
         test_append_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"append, decr, prepend, incr",
         test_append_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"append, decr, prepend, incrWithDefault",
         test_append_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, prepend, prepend",
         test_append_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, decr, prepend, set",
         test_append_decr_prepend_set,
         test_setup, teardown, NULL},
        {"append, decr, set, add",
         test_append_decr_set_add,
         test_setup, teardown, NULL},
        {"append, decr, set, append",
         test_append_decr_set_append,
         test_setup, teardown, NULL},
        {"append, decr, set, decr",
         test_append_decr_set_decr,
         test_setup, teardown, NULL},
        {"append, decr, set, decrWithDefault",
         test_append_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, set, delay",
         test_append_decr_set_delay,
         test_setup, teardown, NULL},
        {"append, decr, set, delete",
         test_append_decr_set_delete,
         test_setup, teardown, NULL},
        {"append, decr, set, flush",
         test_append_decr_set_flush,
         test_setup, teardown, NULL},
        {"append, decr, set, incr",
         test_append_decr_set_incr,
         test_setup, teardown, NULL},
        {"append, decr, set, incrWithDefault",
         test_append_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decr, set, prepend",
         test_append_decr_set_prepend,
         test_setup, teardown, NULL},
        {"append, decr, set, set",
         test_append_decr_set_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, add",
         test_append_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, append",
         test_append_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, decr",
         test_append_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, decrWithDefault",
         test_append_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, delay",
         test_append_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, delete",
         test_append_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, flush",
         test_append_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, incr",
         test_append_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, incrWithDefault",
         test_append_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, prepend",
         test_append_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, add, set",
         test_append_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, add",
         test_append_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, append",
         test_append_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, decr",
         test_append_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, decrWithDefault",
         test_append_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, delay",
         test_append_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, delete",
         test_append_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, flush",
         test_append_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, incr",
         test_append_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, incrWithDefault",
         test_append_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, prepend",
         test_append_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, append, set",
         test_append_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, add",
         test_append_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, append",
         test_append_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, decr",
         test_append_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, decrWithDefault",
         test_append_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, delay",
         test_append_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, delete",
         test_append_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, flush",
         test_append_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, incr",
         test_append_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, incrWithDefault",
         test_append_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, prepend",
         test_append_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decr, set",
         test_append_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, add",
         test_append_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, append",
         test_append_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, decr",
         test_append_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, decrWithDefault",
         test_append_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, delay",
         test_append_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, delete",
         test_append_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, flush",
         test_append_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, incr",
         test_append_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, incrWithDefault",
         test_append_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, prepend",
         test_append_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, decrWithDefault, set",
         test_append_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, add",
         test_append_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, append",
         test_append_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, decr",
         test_append_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, decrWithDefault",
         test_append_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, delay",
         test_append_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, delete",
         test_append_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, flush",
         test_append_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, incr",
         test_append_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, incrWithDefault",
         test_append_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, prepend",
         test_append_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delay, set",
         test_append_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, add",
         test_append_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, append",
         test_append_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, decr",
         test_append_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, decrWithDefault",
         test_append_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, delay",
         test_append_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, delete",
         test_append_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, flush",
         test_append_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, incr",
         test_append_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, incrWithDefault",
         test_append_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, prepend",
         test_append_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, delete, set",
         test_append_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, add",
         test_append_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, append",
         test_append_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, decr",
         test_append_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, decrWithDefault",
         test_append_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, delay",
         test_append_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, delete",
         test_append_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, flush",
         test_append_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, incr",
         test_append_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, incrWithDefault",
         test_append_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, prepend",
         test_append_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, flush, set",
         test_append_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, add",
         test_append_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, append",
         test_append_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, decr",
         test_append_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, decrWithDefault",
         test_append_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, delay",
         test_append_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, delete",
         test_append_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, flush",
         test_append_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, incr",
         test_append_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, incrWithDefault",
         test_append_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, prepend",
         test_append_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incr, set",
         test_append_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, add",
         test_append_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, append",
         test_append_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, decr",
         test_append_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, decrWithDefault",
         test_append_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, delay",
         test_append_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, delete",
         test_append_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, flush",
         test_append_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, incr",
         test_append_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, incrWithDefault",
         test_append_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, prepend",
         test_append_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, incrWithDefault, set",
         test_append_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, add",
         test_append_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, append",
         test_append_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, decr",
         test_append_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, decrWithDefault",
         test_append_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, delay",
         test_append_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, delete",
         test_append_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, flush",
         test_append_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, incr",
         test_append_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, incrWithDefault",
         test_append_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, prepend",
         test_append_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, prepend, set",
         test_append_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, add",
         test_append_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, append",
         test_append_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, decr",
         test_append_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, decrWithDefault",
         test_append_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, delay",
         test_append_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, delete",
         test_append_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, flush",
         test_append_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, incr",
         test_append_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, incrWithDefault",
         test_append_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, prepend",
         test_append_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"append, decrWithDefault, set, set",
         test_append_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"append, delay, add, add",
         test_append_delay_add_add,
         test_setup, teardown, NULL},
        {"append, delay, add, append",
         test_append_delay_add_append,
         test_setup, teardown, NULL},
        {"append, delay, add, decr",
         test_append_delay_add_decr,
         test_setup, teardown, NULL},
        {"append, delay, add, decrWithDefault",
         test_append_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, add, delay",
         test_append_delay_add_delay,
         test_setup, teardown, NULL},
        {"append, delay, add, delete",
         test_append_delay_add_delete,
         test_setup, teardown, NULL},
        {"append, delay, add, flush",
         test_append_delay_add_flush,
         test_setup, teardown, NULL},
        {"append, delay, add, incr",
         test_append_delay_add_incr,
         test_setup, teardown, NULL},
        {"append, delay, add, incrWithDefault",
         test_append_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, add, prepend",
         test_append_delay_add_prepend,
         test_setup, teardown, NULL},
        {"append, delay, add, set",
         test_append_delay_add_set,
         test_setup, teardown, NULL},
        {"append, delay, append, add",
         test_append_delay_append_add,
         test_setup, teardown, NULL},
        {"append, delay, append, append",
         test_append_delay_append_append,
         test_setup, teardown, NULL},
        {"append, delay, append, decr",
         test_append_delay_append_decr,
         test_setup, teardown, NULL},
        {"append, delay, append, decrWithDefault",
         test_append_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, append, delay",
         test_append_delay_append_delay,
         test_setup, teardown, NULL},
        {"append, delay, append, delete",
         test_append_delay_append_delete,
         test_setup, teardown, NULL},
        {"append, delay, append, flush",
         test_append_delay_append_flush,
         test_setup, teardown, NULL},
        {"append, delay, append, incr",
         test_append_delay_append_incr,
         test_setup, teardown, NULL},
        {"append, delay, append, incrWithDefault",
         test_append_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, append, prepend",
         test_append_delay_append_prepend,
         test_setup, teardown, NULL},
        {"append, delay, append, set",
         test_append_delay_append_set,
         test_setup, teardown, NULL},
        {"append, delay, decr, add",
         test_append_delay_decr_add,
         test_setup, teardown, NULL},
        {"append, delay, decr, append",
         test_append_delay_decr_append,
         test_setup, teardown, NULL},
        {"append, delay, decr, decr",
         test_append_delay_decr_decr,
         test_setup, teardown, NULL},
        {"append, delay, decr, decrWithDefault",
         test_append_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, decr, delay",
         test_append_delay_decr_delay,
         test_setup, teardown, NULL},
        {"append, delay, decr, delete",
         test_append_delay_decr_delete,
         test_setup, teardown, NULL},
        {"append, delay, decr, flush",
         test_append_delay_decr_flush,
         test_setup, teardown, NULL},
        {"append, delay, decr, incr",
         test_append_delay_decr_incr,
         test_setup, teardown, NULL},
        {"append, delay, decr, incrWithDefault",
         test_append_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, decr, prepend",
         test_append_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"append, delay, decr, set",
         test_append_delay_decr_set,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, add",
         test_append_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, append",
         test_append_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, decr",
         test_append_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, decrWithDefault",
         test_append_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, delay",
         test_append_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, delete",
         test_append_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, flush",
         test_append_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, incr",
         test_append_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, incrWithDefault",
         test_append_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, prepend",
         test_append_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, delay, decrWithDefault, set",
         test_append_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, delay, delay, add",
         test_append_delay_delay_add,
         test_setup, teardown, NULL},
        {"append, delay, delay, append",
         test_append_delay_delay_append,
         test_setup, teardown, NULL},
        {"append, delay, delay, decr",
         test_append_delay_delay_decr,
         test_setup, teardown, NULL},
        {"append, delay, delay, decrWithDefault",
         test_append_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, delay, delay",
         test_append_delay_delay_delay,
         test_setup, teardown, NULL},
        {"append, delay, delay, delete",
         test_append_delay_delay_delete,
         test_setup, teardown, NULL},
        {"append, delay, delay, flush",
         test_append_delay_delay_flush,
         test_setup, teardown, NULL},
        {"append, delay, delay, incr",
         test_append_delay_delay_incr,
         test_setup, teardown, NULL},
        {"append, delay, delay, incrWithDefault",
         test_append_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, delay, prepend",
         test_append_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"append, delay, delay, set",
         test_append_delay_delay_set,
         test_setup, teardown, NULL},
        {"append, delay, delete, add",
         test_append_delay_delete_add,
         test_setup, teardown, NULL},
        {"append, delay, delete, append",
         test_append_delay_delete_append,
         test_setup, teardown, NULL},
        {"append, delay, delete, decr",
         test_append_delay_delete_decr,
         test_setup, teardown, NULL},
        {"append, delay, delete, decrWithDefault",
         test_append_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, delete, delay",
         test_append_delay_delete_delay,
         test_setup, teardown, NULL},
        {"append, delay, delete, delete",
         test_append_delay_delete_delete,
         test_setup, teardown, NULL},
        {"append, delay, delete, flush",
         test_append_delay_delete_flush,
         test_setup, teardown, NULL},
        {"append, delay, delete, incr",
         test_append_delay_delete_incr,
         test_setup, teardown, NULL},
        {"append, delay, delete, incrWithDefault",
         test_append_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, delete, prepend",
         test_append_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"append, delay, delete, set",
         test_append_delay_delete_set,
         test_setup, teardown, NULL},
        {"append, delay, flush, add",
         test_append_delay_flush_add,
         test_setup, teardown, NULL},
        {"append, delay, flush, append",
         test_append_delay_flush_append,
         test_setup, teardown, NULL},
        {"append, delay, flush, decr",
         test_append_delay_flush_decr,
         test_setup, teardown, NULL},
        {"append, delay, flush, decrWithDefault",
         test_append_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, flush, delay",
         test_append_delay_flush_delay,
         test_setup, teardown, NULL},
        {"append, delay, flush, delete",
         test_append_delay_flush_delete,
         test_setup, teardown, NULL},
        {"append, delay, flush, flush",
         test_append_delay_flush_flush,
         test_setup, teardown, NULL},
        {"append, delay, flush, incr",
         test_append_delay_flush_incr,
         test_setup, teardown, NULL},
        {"append, delay, flush, incrWithDefault",
         test_append_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, flush, prepend",
         test_append_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"append, delay, flush, set",
         test_append_delay_flush_set,
         test_setup, teardown, NULL},
        {"append, delay, incr, add",
         test_append_delay_incr_add,
         test_setup, teardown, NULL},
        {"append, delay, incr, append",
         test_append_delay_incr_append,
         test_setup, teardown, NULL},
        {"append, delay, incr, decr",
         test_append_delay_incr_decr,
         test_setup, teardown, NULL},
        {"append, delay, incr, decrWithDefault",
         test_append_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, incr, delay",
         test_append_delay_incr_delay,
         test_setup, teardown, NULL},
        {"append, delay, incr, delete",
         test_append_delay_incr_delete,
         test_setup, teardown, NULL},
        {"append, delay, incr, flush",
         test_append_delay_incr_flush,
         test_setup, teardown, NULL},
        {"append, delay, incr, incr",
         test_append_delay_incr_incr,
         test_setup, teardown, NULL},
        {"append, delay, incr, incrWithDefault",
         test_append_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, incr, prepend",
         test_append_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"append, delay, incr, set",
         test_append_delay_incr_set,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, add",
         test_append_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, append",
         test_append_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, decr",
         test_append_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, decrWithDefault",
         test_append_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, delay",
         test_append_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, delete",
         test_append_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, flush",
         test_append_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, incr",
         test_append_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, incrWithDefault",
         test_append_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, prepend",
         test_append_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, delay, incrWithDefault, set",
         test_append_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, delay, prepend, add",
         test_append_delay_prepend_add,
         test_setup, teardown, NULL},
        {"append, delay, prepend, append",
         test_append_delay_prepend_append,
         test_setup, teardown, NULL},
        {"append, delay, prepend, decr",
         test_append_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"append, delay, prepend, decrWithDefault",
         test_append_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, prepend, delay",
         test_append_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"append, delay, prepend, delete",
         test_append_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"append, delay, prepend, flush",
         test_append_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"append, delay, prepend, incr",
         test_append_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"append, delay, prepend, incrWithDefault",
         test_append_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, prepend, prepend",
         test_append_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, delay, prepend, set",
         test_append_delay_prepend_set,
         test_setup, teardown, NULL},
        {"append, delay, set, add",
         test_append_delay_set_add,
         test_setup, teardown, NULL},
        {"append, delay, set, append",
         test_append_delay_set_append,
         test_setup, teardown, NULL},
        {"append, delay, set, decr",
         test_append_delay_set_decr,
         test_setup, teardown, NULL},
        {"append, delay, set, decrWithDefault",
         test_append_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, set, delay",
         test_append_delay_set_delay,
         test_setup, teardown, NULL},
        {"append, delay, set, delete",
         test_append_delay_set_delete,
         test_setup, teardown, NULL},
        {"append, delay, set, flush",
         test_append_delay_set_flush,
         test_setup, teardown, NULL},
        {"append, delay, set, incr",
         test_append_delay_set_incr,
         test_setup, teardown, NULL},
        {"append, delay, set, incrWithDefault",
         test_append_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delay, set, prepend",
         test_append_delay_set_prepend,
         test_setup, teardown, NULL},
        {"append, delay, set, set",
         test_append_delay_set_set,
         test_setup, teardown, NULL},
        {"append, delete, add, add",
         test_append_delete_add_add,
         test_setup, teardown, NULL},
        {"append, delete, add, append",
         test_append_delete_add_append,
         test_setup, teardown, NULL},
        {"append, delete, add, decr",
         test_append_delete_add_decr,
         test_setup, teardown, NULL},
        {"append, delete, add, decrWithDefault",
         test_append_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, add, delay",
         test_append_delete_add_delay,
         test_setup, teardown, NULL},
        {"append, delete, add, delete",
         test_append_delete_add_delete,
         test_setup, teardown, NULL},
        {"append, delete, add, flush",
         test_append_delete_add_flush,
         test_setup, teardown, NULL},
        {"append, delete, add, incr",
         test_append_delete_add_incr,
         test_setup, teardown, NULL},
        {"append, delete, add, incrWithDefault",
         test_append_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, add, prepend",
         test_append_delete_add_prepend,
         test_setup, teardown, NULL},
        {"append, delete, add, set",
         test_append_delete_add_set,
         test_setup, teardown, NULL},
        {"append, delete, append, add",
         test_append_delete_append_add,
         test_setup, teardown, NULL},
        {"append, delete, append, append",
         test_append_delete_append_append,
         test_setup, teardown, NULL},
        {"append, delete, append, decr",
         test_append_delete_append_decr,
         test_setup, teardown, NULL},
        {"append, delete, append, decrWithDefault",
         test_append_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, append, delay",
         test_append_delete_append_delay,
         test_setup, teardown, NULL},
        {"append, delete, append, delete",
         test_append_delete_append_delete,
         test_setup, teardown, NULL},
        {"append, delete, append, flush",
         test_append_delete_append_flush,
         test_setup, teardown, NULL},
        {"append, delete, append, incr",
         test_append_delete_append_incr,
         test_setup, teardown, NULL},
        {"append, delete, append, incrWithDefault",
         test_append_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, append, prepend",
         test_append_delete_append_prepend,
         test_setup, teardown, NULL},
        {"append, delete, append, set",
         test_append_delete_append_set,
         test_setup, teardown, NULL},
        {"append, delete, decr, add",
         test_append_delete_decr_add,
         test_setup, teardown, NULL},
        {"append, delete, decr, append",
         test_append_delete_decr_append,
         test_setup, teardown, NULL},
        {"append, delete, decr, decr",
         test_append_delete_decr_decr,
         test_setup, teardown, NULL},
        {"append, delete, decr, decrWithDefault",
         test_append_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, decr, delay",
         test_append_delete_decr_delay,
         test_setup, teardown, NULL},
        {"append, delete, decr, delete",
         test_append_delete_decr_delete,
         test_setup, teardown, NULL},
        {"append, delete, decr, flush",
         test_append_delete_decr_flush,
         test_setup, teardown, NULL},
        {"append, delete, decr, incr",
         test_append_delete_decr_incr,
         test_setup, teardown, NULL},
        {"append, delete, decr, incrWithDefault",
         test_append_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, decr, prepend",
         test_append_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"append, delete, decr, set",
         test_append_delete_decr_set,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, add",
         test_append_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, append",
         test_append_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, decr",
         test_append_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, decrWithDefault",
         test_append_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, delay",
         test_append_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, delete",
         test_append_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, flush",
         test_append_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, incr",
         test_append_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, incrWithDefault",
         test_append_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, prepend",
         test_append_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, delete, decrWithDefault, set",
         test_append_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, delete, delay, add",
         test_append_delete_delay_add,
         test_setup, teardown, NULL},
        {"append, delete, delay, append",
         test_append_delete_delay_append,
         test_setup, teardown, NULL},
        {"append, delete, delay, decr",
         test_append_delete_delay_decr,
         test_setup, teardown, NULL},
        {"append, delete, delay, decrWithDefault",
         test_append_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, delay, delay",
         test_append_delete_delay_delay,
         test_setup, teardown, NULL},
        {"append, delete, delay, delete",
         test_append_delete_delay_delete,
         test_setup, teardown, NULL},
        {"append, delete, delay, flush",
         test_append_delete_delay_flush,
         test_setup, teardown, NULL},
        {"append, delete, delay, incr",
         test_append_delete_delay_incr,
         test_setup, teardown, NULL},
        {"append, delete, delay, incrWithDefault",
         test_append_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, delay, prepend",
         test_append_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"append, delete, delay, set",
         test_append_delete_delay_set,
         test_setup, teardown, NULL},
        {"append, delete, delete, add",
         test_append_delete_delete_add,
         test_setup, teardown, NULL},
        {"append, delete, delete, append",
         test_append_delete_delete_append,
         test_setup, teardown, NULL},
        {"append, delete, delete, decr",
         test_append_delete_delete_decr,
         test_setup, teardown, NULL},
        {"append, delete, delete, decrWithDefault",
         test_append_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, delete, delay",
         test_append_delete_delete_delay,
         test_setup, teardown, NULL},
        {"append, delete, delete, delete",
         test_append_delete_delete_delete,
         test_setup, teardown, NULL},
        {"append, delete, delete, flush",
         test_append_delete_delete_flush,
         test_setup, teardown, NULL},
        {"append, delete, delete, incr",
         test_append_delete_delete_incr,
         test_setup, teardown, NULL},
        {"append, delete, delete, incrWithDefault",
         test_append_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, delete, prepend",
         test_append_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"append, delete, delete, set",
         test_append_delete_delete_set,
         test_setup, teardown, NULL},
        {"append, delete, flush, add",
         test_append_delete_flush_add,
         test_setup, teardown, NULL},
        {"append, delete, flush, append",
         test_append_delete_flush_append,
         test_setup, teardown, NULL},
        {"append, delete, flush, decr",
         test_append_delete_flush_decr,
         test_setup, teardown, NULL},
        {"append, delete, flush, decrWithDefault",
         test_append_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, flush, delay",
         test_append_delete_flush_delay,
         test_setup, teardown, NULL},
        {"append, delete, flush, delete",
         test_append_delete_flush_delete,
         test_setup, teardown, NULL},
        {"append, delete, flush, flush",
         test_append_delete_flush_flush,
         test_setup, teardown, NULL},
        {"append, delete, flush, incr",
         test_append_delete_flush_incr,
         test_setup, teardown, NULL},
        {"append, delete, flush, incrWithDefault",
         test_append_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, flush, prepend",
         test_append_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"append, delete, flush, set",
         test_append_delete_flush_set,
         test_setup, teardown, NULL},
        {"append, delete, incr, add",
         test_append_delete_incr_add,
         test_setup, teardown, NULL},
        {"append, delete, incr, append",
         test_append_delete_incr_append,
         test_setup, teardown, NULL},
        {"append, delete, incr, decr",
         test_append_delete_incr_decr,
         test_setup, teardown, NULL},
        {"append, delete, incr, decrWithDefault",
         test_append_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, incr, delay",
         test_append_delete_incr_delay,
         test_setup, teardown, NULL},
        {"append, delete, incr, delete",
         test_append_delete_incr_delete,
         test_setup, teardown, NULL},
        {"append, delete, incr, flush",
         test_append_delete_incr_flush,
         test_setup, teardown, NULL},
        {"append, delete, incr, incr",
         test_append_delete_incr_incr,
         test_setup, teardown, NULL},
        {"append, delete, incr, incrWithDefault",
         test_append_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, incr, prepend",
         test_append_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"append, delete, incr, set",
         test_append_delete_incr_set,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, add",
         test_append_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, append",
         test_append_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, decr",
         test_append_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, decrWithDefault",
         test_append_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, delay",
         test_append_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, delete",
         test_append_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, flush",
         test_append_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, incr",
         test_append_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, incrWithDefault",
         test_append_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, prepend",
         test_append_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, delete, incrWithDefault, set",
         test_append_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, delete, prepend, add",
         test_append_delete_prepend_add,
         test_setup, teardown, NULL},
        {"append, delete, prepend, append",
         test_append_delete_prepend_append,
         test_setup, teardown, NULL},
        {"append, delete, prepend, decr",
         test_append_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"append, delete, prepend, decrWithDefault",
         test_append_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, prepend, delay",
         test_append_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"append, delete, prepend, delete",
         test_append_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"append, delete, prepend, flush",
         test_append_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"append, delete, prepend, incr",
         test_append_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"append, delete, prepend, incrWithDefault",
         test_append_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, prepend, prepend",
         test_append_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, delete, prepend, set",
         test_append_delete_prepend_set,
         test_setup, teardown, NULL},
        {"append, delete, set, add",
         test_append_delete_set_add,
         test_setup, teardown, NULL},
        {"append, delete, set, append",
         test_append_delete_set_append,
         test_setup, teardown, NULL},
        {"append, delete, set, decr",
         test_append_delete_set_decr,
         test_setup, teardown, NULL},
        {"append, delete, set, decrWithDefault",
         test_append_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, set, delay",
         test_append_delete_set_delay,
         test_setup, teardown, NULL},
        {"append, delete, set, delete",
         test_append_delete_set_delete,
         test_setup, teardown, NULL},
        {"append, delete, set, flush",
         test_append_delete_set_flush,
         test_setup, teardown, NULL},
        {"append, delete, set, incr",
         test_append_delete_set_incr,
         test_setup, teardown, NULL},
        {"append, delete, set, incrWithDefault",
         test_append_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, delete, set, prepend",
         test_append_delete_set_prepend,
         test_setup, teardown, NULL},
        {"append, delete, set, set",
         test_append_delete_set_set,
         test_setup, teardown, NULL},
        {"append, flush, add, add",
         test_append_flush_add_add,
         test_setup, teardown, NULL},
        {"append, flush, add, append",
         test_append_flush_add_append,
         test_setup, teardown, NULL},
        {"append, flush, add, decr",
         test_append_flush_add_decr,
         test_setup, teardown, NULL},
        {"append, flush, add, decrWithDefault",
         test_append_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, add, delay",
         test_append_flush_add_delay,
         test_setup, teardown, NULL},
        {"append, flush, add, delete",
         test_append_flush_add_delete,
         test_setup, teardown, NULL},
        {"append, flush, add, flush",
         test_append_flush_add_flush,
         test_setup, teardown, NULL},
        {"append, flush, add, incr",
         test_append_flush_add_incr,
         test_setup, teardown, NULL},
        {"append, flush, add, incrWithDefault",
         test_append_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, add, prepend",
         test_append_flush_add_prepend,
         test_setup, teardown, NULL},
        {"append, flush, add, set",
         test_append_flush_add_set,
         test_setup, teardown, NULL},
        {"append, flush, append, add",
         test_append_flush_append_add,
         test_setup, teardown, NULL},
        {"append, flush, append, append",
         test_append_flush_append_append,
         test_setup, teardown, NULL},
        {"append, flush, append, decr",
         test_append_flush_append_decr,
         test_setup, teardown, NULL},
        {"append, flush, append, decrWithDefault",
         test_append_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, append, delay",
         test_append_flush_append_delay,
         test_setup, teardown, NULL},
        {"append, flush, append, delete",
         test_append_flush_append_delete,
         test_setup, teardown, NULL},
        {"append, flush, append, flush",
         test_append_flush_append_flush,
         test_setup, teardown, NULL},
        {"append, flush, append, incr",
         test_append_flush_append_incr,
         test_setup, teardown, NULL},
        {"append, flush, append, incrWithDefault",
         test_append_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, append, prepend",
         test_append_flush_append_prepend,
         test_setup, teardown, NULL},
        {"append, flush, append, set",
         test_append_flush_append_set,
         test_setup, teardown, NULL},
        {"append, flush, decr, add",
         test_append_flush_decr_add,
         test_setup, teardown, NULL},
        {"append, flush, decr, append",
         test_append_flush_decr_append,
         test_setup, teardown, NULL},
        {"append, flush, decr, decr",
         test_append_flush_decr_decr,
         test_setup, teardown, NULL},
        {"append, flush, decr, decrWithDefault",
         test_append_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, decr, delay",
         test_append_flush_decr_delay,
         test_setup, teardown, NULL},
        {"append, flush, decr, delete",
         test_append_flush_decr_delete,
         test_setup, teardown, NULL},
        {"append, flush, decr, flush",
         test_append_flush_decr_flush,
         test_setup, teardown, NULL},
        {"append, flush, decr, incr",
         test_append_flush_decr_incr,
         test_setup, teardown, NULL},
        {"append, flush, decr, incrWithDefault",
         test_append_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, decr, prepend",
         test_append_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"append, flush, decr, set",
         test_append_flush_decr_set,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, add",
         test_append_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, append",
         test_append_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, decr",
         test_append_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, decrWithDefault",
         test_append_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, delay",
         test_append_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, delete",
         test_append_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, flush",
         test_append_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, incr",
         test_append_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, incrWithDefault",
         test_append_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, prepend",
         test_append_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, flush, decrWithDefault, set",
         test_append_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, flush, delay, add",
         test_append_flush_delay_add,
         test_setup, teardown, NULL},
        {"append, flush, delay, append",
         test_append_flush_delay_append,
         test_setup, teardown, NULL},
        {"append, flush, delay, decr",
         test_append_flush_delay_decr,
         test_setup, teardown, NULL},
        {"append, flush, delay, decrWithDefault",
         test_append_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, delay, delay",
         test_append_flush_delay_delay,
         test_setup, teardown, NULL},
        {"append, flush, delay, delete",
         test_append_flush_delay_delete,
         test_setup, teardown, NULL},
        {"append, flush, delay, flush",
         test_append_flush_delay_flush,
         test_setup, teardown, NULL},
        {"append, flush, delay, incr",
         test_append_flush_delay_incr,
         test_setup, teardown, NULL},
        {"append, flush, delay, incrWithDefault",
         test_append_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, delay, prepend",
         test_append_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"append, flush, delay, set",
         test_append_flush_delay_set,
         test_setup, teardown, NULL},
        {"append, flush, delete, add",
         test_append_flush_delete_add,
         test_setup, teardown, NULL},
        {"append, flush, delete, append",
         test_append_flush_delete_append,
         test_setup, teardown, NULL},
        {"append, flush, delete, decr",
         test_append_flush_delete_decr,
         test_setup, teardown, NULL},
        {"append, flush, delete, decrWithDefault",
         test_append_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, delete, delay",
         test_append_flush_delete_delay,
         test_setup, teardown, NULL},
        {"append, flush, delete, delete",
         test_append_flush_delete_delete,
         test_setup, teardown, NULL},
        {"append, flush, delete, flush",
         test_append_flush_delete_flush,
         test_setup, teardown, NULL},
        {"append, flush, delete, incr",
         test_append_flush_delete_incr,
         test_setup, teardown, NULL},
        {"append, flush, delete, incrWithDefault",
         test_append_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, delete, prepend",
         test_append_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"append, flush, delete, set",
         test_append_flush_delete_set,
         test_setup, teardown, NULL},
        {"append, flush, flush, add",
         test_append_flush_flush_add,
         test_setup, teardown, NULL},
        {"append, flush, flush, append",
         test_append_flush_flush_append,
         test_setup, teardown, NULL},
        {"append, flush, flush, decr",
         test_append_flush_flush_decr,
         test_setup, teardown, NULL},
        {"append, flush, flush, decrWithDefault",
         test_append_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, flush, delay",
         test_append_flush_flush_delay,
         test_setup, teardown, NULL},
        {"append, flush, flush, delete",
         test_append_flush_flush_delete,
         test_setup, teardown, NULL},
        {"append, flush, flush, flush",
         test_append_flush_flush_flush,
         test_setup, teardown, NULL},
        {"append, flush, flush, incr",
         test_append_flush_flush_incr,
         test_setup, teardown, NULL},
        {"append, flush, flush, incrWithDefault",
         test_append_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, flush, prepend",
         test_append_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"append, flush, flush, set",
         test_append_flush_flush_set,
         test_setup, teardown, NULL},
        {"append, flush, incr, add",
         test_append_flush_incr_add,
         test_setup, teardown, NULL},
        {"append, flush, incr, append",
         test_append_flush_incr_append,
         test_setup, teardown, NULL},
        {"append, flush, incr, decr",
         test_append_flush_incr_decr,
         test_setup, teardown, NULL},
        {"append, flush, incr, decrWithDefault",
         test_append_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, incr, delay",
         test_append_flush_incr_delay,
         test_setup, teardown, NULL},
        {"append, flush, incr, delete",
         test_append_flush_incr_delete,
         test_setup, teardown, NULL},
        {"append, flush, incr, flush",
         test_append_flush_incr_flush,
         test_setup, teardown, NULL},
        {"append, flush, incr, incr",
         test_append_flush_incr_incr,
         test_setup, teardown, NULL},
        {"append, flush, incr, incrWithDefault",
         test_append_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, incr, prepend",
         test_append_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"append, flush, incr, set",
         test_append_flush_incr_set,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, add",
         test_append_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, append",
         test_append_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, decr",
         test_append_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, decrWithDefault",
         test_append_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, delay",
         test_append_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, delete",
         test_append_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, flush",
         test_append_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, incr",
         test_append_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, incrWithDefault",
         test_append_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, prepend",
         test_append_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, flush, incrWithDefault, set",
         test_append_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, flush, prepend, add",
         test_append_flush_prepend_add,
         test_setup, teardown, NULL},
        {"append, flush, prepend, append",
         test_append_flush_prepend_append,
         test_setup, teardown, NULL},
        {"append, flush, prepend, decr",
         test_append_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"append, flush, prepend, decrWithDefault",
         test_append_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, prepend, delay",
         test_append_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"append, flush, prepend, delete",
         test_append_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"append, flush, prepend, flush",
         test_append_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"append, flush, prepend, incr",
         test_append_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"append, flush, prepend, incrWithDefault",
         test_append_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, prepend, prepend",
         test_append_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, flush, prepend, set",
         test_append_flush_prepend_set,
         test_setup, teardown, NULL},
        {"append, flush, set, add",
         test_append_flush_set_add,
         test_setup, teardown, NULL},
        {"append, flush, set, append",
         test_append_flush_set_append,
         test_setup, teardown, NULL},
        {"append, flush, set, decr",
         test_append_flush_set_decr,
         test_setup, teardown, NULL},
        {"append, flush, set, decrWithDefault",
         test_append_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, set, delay",
         test_append_flush_set_delay,
         test_setup, teardown, NULL},
        {"append, flush, set, delete",
         test_append_flush_set_delete,
         test_setup, teardown, NULL},
        {"append, flush, set, flush",
         test_append_flush_set_flush,
         test_setup, teardown, NULL},
        {"append, flush, set, incr",
         test_append_flush_set_incr,
         test_setup, teardown, NULL},
        {"append, flush, set, incrWithDefault",
         test_append_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, flush, set, prepend",
         test_append_flush_set_prepend,
         test_setup, teardown, NULL},
        {"append, flush, set, set",
         test_append_flush_set_set,
         test_setup, teardown, NULL},
        {"append, incr, add, add",
         test_append_incr_add_add,
         test_setup, teardown, NULL},
        {"append, incr, add, append",
         test_append_incr_add_append,
         test_setup, teardown, NULL},
        {"append, incr, add, decr",
         test_append_incr_add_decr,
         test_setup, teardown, NULL},
        {"append, incr, add, decrWithDefault",
         test_append_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, add, delay",
         test_append_incr_add_delay,
         test_setup, teardown, NULL},
        {"append, incr, add, delete",
         test_append_incr_add_delete,
         test_setup, teardown, NULL},
        {"append, incr, add, flush",
         test_append_incr_add_flush,
         test_setup, teardown, NULL},
        {"append, incr, add, incr",
         test_append_incr_add_incr,
         test_setup, teardown, NULL},
        {"append, incr, add, incrWithDefault",
         test_append_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, add, prepend",
         test_append_incr_add_prepend,
         test_setup, teardown, NULL},
        {"append, incr, add, set",
         test_append_incr_add_set,
         test_setup, teardown, NULL},
        {"append, incr, append, add",
         test_append_incr_append_add,
         test_setup, teardown, NULL},
        {"append, incr, append, append",
         test_append_incr_append_append,
         test_setup, teardown, NULL},
        {"append, incr, append, decr",
         test_append_incr_append_decr,
         test_setup, teardown, NULL},
        {"append, incr, append, decrWithDefault",
         test_append_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, append, delay",
         test_append_incr_append_delay,
         test_setup, teardown, NULL},
        {"append, incr, append, delete",
         test_append_incr_append_delete,
         test_setup, teardown, NULL},
        {"append, incr, append, flush",
         test_append_incr_append_flush,
         test_setup, teardown, NULL},
        {"append, incr, append, incr",
         test_append_incr_append_incr,
         test_setup, teardown, NULL},
        {"append, incr, append, incrWithDefault",
         test_append_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, append, prepend",
         test_append_incr_append_prepend,
         test_setup, teardown, NULL},
        {"append, incr, append, set",
         test_append_incr_append_set,
         test_setup, teardown, NULL},
        {"append, incr, decr, add",
         test_append_incr_decr_add,
         test_setup, teardown, NULL},
        {"append, incr, decr, append",
         test_append_incr_decr_append,
         test_setup, teardown, NULL},
        {"append, incr, decr, decr",
         test_append_incr_decr_decr,
         test_setup, teardown, NULL},
        {"append, incr, decr, decrWithDefault",
         test_append_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, decr, delay",
         test_append_incr_decr_delay,
         test_setup, teardown, NULL},
        {"append, incr, decr, delete",
         test_append_incr_decr_delete,
         test_setup, teardown, NULL},
        {"append, incr, decr, flush",
         test_append_incr_decr_flush,
         test_setup, teardown, NULL},
        {"append, incr, decr, incr",
         test_append_incr_decr_incr,
         test_setup, teardown, NULL},
        {"append, incr, decr, incrWithDefault",
         test_append_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, decr, prepend",
         test_append_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"append, incr, decr, set",
         test_append_incr_decr_set,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, add",
         test_append_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, append",
         test_append_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, decr",
         test_append_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, decrWithDefault",
         test_append_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, delay",
         test_append_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, delete",
         test_append_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, flush",
         test_append_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, incr",
         test_append_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, incrWithDefault",
         test_append_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, prepend",
         test_append_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, incr, decrWithDefault, set",
         test_append_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, incr, delay, add",
         test_append_incr_delay_add,
         test_setup, teardown, NULL},
        {"append, incr, delay, append",
         test_append_incr_delay_append,
         test_setup, teardown, NULL},
        {"append, incr, delay, decr",
         test_append_incr_delay_decr,
         test_setup, teardown, NULL},
        {"append, incr, delay, decrWithDefault",
         test_append_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, delay, delay",
         test_append_incr_delay_delay,
         test_setup, teardown, NULL},
        {"append, incr, delay, delete",
         test_append_incr_delay_delete,
         test_setup, teardown, NULL},
        {"append, incr, delay, flush",
         test_append_incr_delay_flush,
         test_setup, teardown, NULL},
        {"append, incr, delay, incr",
         test_append_incr_delay_incr,
         test_setup, teardown, NULL},
        {"append, incr, delay, incrWithDefault",
         test_append_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, delay, prepend",
         test_append_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"append, incr, delay, set",
         test_append_incr_delay_set,
         test_setup, teardown, NULL},
        {"append, incr, delete, add",
         test_append_incr_delete_add,
         test_setup, teardown, NULL},
        {"append, incr, delete, append",
         test_append_incr_delete_append,
         test_setup, teardown, NULL},
        {"append, incr, delete, decr",
         test_append_incr_delete_decr,
         test_setup, teardown, NULL},
        {"append, incr, delete, decrWithDefault",
         test_append_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, delete, delay",
         test_append_incr_delete_delay,
         test_setup, teardown, NULL},
        {"append, incr, delete, delete",
         test_append_incr_delete_delete,
         test_setup, teardown, NULL},
        {"append, incr, delete, flush",
         test_append_incr_delete_flush,
         test_setup, teardown, NULL},
        {"append, incr, delete, incr",
         test_append_incr_delete_incr,
         test_setup, teardown, NULL},
        {"append, incr, delete, incrWithDefault",
         test_append_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, delete, prepend",
         test_append_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"append, incr, delete, set",
         test_append_incr_delete_set,
         test_setup, teardown, NULL},
        {"append, incr, flush, add",
         test_append_incr_flush_add,
         test_setup, teardown, NULL},
        {"append, incr, flush, append",
         test_append_incr_flush_append,
         test_setup, teardown, NULL},
        {"append, incr, flush, decr",
         test_append_incr_flush_decr,
         test_setup, teardown, NULL},
        {"append, incr, flush, decrWithDefault",
         test_append_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, flush, delay",
         test_append_incr_flush_delay,
         test_setup, teardown, NULL},
        {"append, incr, flush, delete",
         test_append_incr_flush_delete,
         test_setup, teardown, NULL},
        {"append, incr, flush, flush",
         test_append_incr_flush_flush,
         test_setup, teardown, NULL},
        {"append, incr, flush, incr",
         test_append_incr_flush_incr,
         test_setup, teardown, NULL},
        {"append, incr, flush, incrWithDefault",
         test_append_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, flush, prepend",
         test_append_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"append, incr, flush, set",
         test_append_incr_flush_set,
         test_setup, teardown, NULL},
        {"append, incr, incr, add",
         test_append_incr_incr_add,
         test_setup, teardown, NULL},
        {"append, incr, incr, append",
         test_append_incr_incr_append,
         test_setup, teardown, NULL},
        {"append, incr, incr, decr",
         test_append_incr_incr_decr,
         test_setup, teardown, NULL},
        {"append, incr, incr, decrWithDefault",
         test_append_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, incr, delay",
         test_append_incr_incr_delay,
         test_setup, teardown, NULL},
        {"append, incr, incr, delete",
         test_append_incr_incr_delete,
         test_setup, teardown, NULL},
        {"append, incr, incr, flush",
         test_append_incr_incr_flush,
         test_setup, teardown, NULL},
        {"append, incr, incr, incr",
         test_append_incr_incr_incr,
         test_setup, teardown, NULL},
        {"append, incr, incr, incrWithDefault",
         test_append_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, incr, prepend",
         test_append_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"append, incr, incr, set",
         test_append_incr_incr_set,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, add",
         test_append_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, append",
         test_append_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, decr",
         test_append_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, decrWithDefault",
         test_append_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, delay",
         test_append_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, delete",
         test_append_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, flush",
         test_append_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, incr",
         test_append_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, incrWithDefault",
         test_append_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, prepend",
         test_append_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, incr, incrWithDefault, set",
         test_append_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, incr, prepend, add",
         test_append_incr_prepend_add,
         test_setup, teardown, NULL},
        {"append, incr, prepend, append",
         test_append_incr_prepend_append,
         test_setup, teardown, NULL},
        {"append, incr, prepend, decr",
         test_append_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"append, incr, prepend, decrWithDefault",
         test_append_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, prepend, delay",
         test_append_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"append, incr, prepend, delete",
         test_append_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"append, incr, prepend, flush",
         test_append_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"append, incr, prepend, incr",
         test_append_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"append, incr, prepend, incrWithDefault",
         test_append_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, prepend, prepend",
         test_append_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, incr, prepend, set",
         test_append_incr_prepend_set,
         test_setup, teardown, NULL},
        {"append, incr, set, add",
         test_append_incr_set_add,
         test_setup, teardown, NULL},
        {"append, incr, set, append",
         test_append_incr_set_append,
         test_setup, teardown, NULL},
        {"append, incr, set, decr",
         test_append_incr_set_decr,
         test_setup, teardown, NULL},
        {"append, incr, set, decrWithDefault",
         test_append_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, set, delay",
         test_append_incr_set_delay,
         test_setup, teardown, NULL},
        {"append, incr, set, delete",
         test_append_incr_set_delete,
         test_setup, teardown, NULL},
        {"append, incr, set, flush",
         test_append_incr_set_flush,
         test_setup, teardown, NULL},
        {"append, incr, set, incr",
         test_append_incr_set_incr,
         test_setup, teardown, NULL},
        {"append, incr, set, incrWithDefault",
         test_append_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incr, set, prepend",
         test_append_incr_set_prepend,
         test_setup, teardown, NULL},
        {"append, incr, set, set",
         test_append_incr_set_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, add",
         test_append_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, append",
         test_append_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, decr",
         test_append_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, decrWithDefault",
         test_append_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, delay",
         test_append_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, delete",
         test_append_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, flush",
         test_append_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, incr",
         test_append_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, incrWithDefault",
         test_append_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, prepend",
         test_append_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, add, set",
         test_append_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, add",
         test_append_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, append",
         test_append_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, decr",
         test_append_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, decrWithDefault",
         test_append_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, delay",
         test_append_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, delete",
         test_append_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, flush",
         test_append_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, incr",
         test_append_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, incrWithDefault",
         test_append_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, prepend",
         test_append_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, append, set",
         test_append_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, add",
         test_append_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, append",
         test_append_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, decr",
         test_append_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, decrWithDefault",
         test_append_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, delay",
         test_append_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, delete",
         test_append_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, flush",
         test_append_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, incr",
         test_append_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, incrWithDefault",
         test_append_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, prepend",
         test_append_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decr, set",
         test_append_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, add",
         test_append_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, append",
         test_append_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, decr",
         test_append_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, decrWithDefault",
         test_append_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, delay",
         test_append_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, delete",
         test_append_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, flush",
         test_append_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, incr",
         test_append_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, incrWithDefault",
         test_append_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, prepend",
         test_append_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, decrWithDefault, set",
         test_append_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, add",
         test_append_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, append",
         test_append_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, decr",
         test_append_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, decrWithDefault",
         test_append_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, delay",
         test_append_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, delete",
         test_append_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, flush",
         test_append_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, incr",
         test_append_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, incrWithDefault",
         test_append_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, prepend",
         test_append_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delay, set",
         test_append_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, add",
         test_append_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, append",
         test_append_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, decr",
         test_append_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, decrWithDefault",
         test_append_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, delay",
         test_append_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, delete",
         test_append_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, flush",
         test_append_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, incr",
         test_append_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, incrWithDefault",
         test_append_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, prepend",
         test_append_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, delete, set",
         test_append_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, add",
         test_append_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, append",
         test_append_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, decr",
         test_append_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, decrWithDefault",
         test_append_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, delay",
         test_append_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, delete",
         test_append_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, flush",
         test_append_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, incr",
         test_append_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, incrWithDefault",
         test_append_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, prepend",
         test_append_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, flush, set",
         test_append_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, add",
         test_append_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, append",
         test_append_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, decr",
         test_append_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, decrWithDefault",
         test_append_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, delay",
         test_append_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, delete",
         test_append_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, flush",
         test_append_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, incr",
         test_append_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, incrWithDefault",
         test_append_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, prepend",
         test_append_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incr, set",
         test_append_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, add",
         test_append_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, append",
         test_append_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, decr",
         test_append_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, decrWithDefault",
         test_append_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, delay",
         test_append_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, delete",
         test_append_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, flush",
         test_append_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, incr",
         test_append_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, incrWithDefault",
         test_append_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, prepend",
         test_append_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, incrWithDefault, set",
         test_append_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, add",
         test_append_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, append",
         test_append_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, decr",
         test_append_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, decrWithDefault",
         test_append_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, delay",
         test_append_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, delete",
         test_append_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, flush",
         test_append_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, incr",
         test_append_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, incrWithDefault",
         test_append_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, prepend",
         test_append_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, prepend, set",
         test_append_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, add",
         test_append_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, append",
         test_append_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, decr",
         test_append_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, decrWithDefault",
         test_append_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, delay",
         test_append_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, delete",
         test_append_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, flush",
         test_append_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, incr",
         test_append_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, incrWithDefault",
         test_append_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, prepend",
         test_append_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"append, incrWithDefault, set, set",
         test_append_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"append, prepend, add, add",
         test_append_prepend_add_add,
         test_setup, teardown, NULL},
        {"append, prepend, add, append",
         test_append_prepend_add_append,
         test_setup, teardown, NULL},
        {"append, prepend, add, decr",
         test_append_prepend_add_decr,
         test_setup, teardown, NULL},
        {"append, prepend, add, decrWithDefault",
         test_append_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, add, delay",
         test_append_prepend_add_delay,
         test_setup, teardown, NULL},
        {"append, prepend, add, delete",
         test_append_prepend_add_delete,
         test_setup, teardown, NULL},
        {"append, prepend, add, flush",
         test_append_prepend_add_flush,
         test_setup, teardown, NULL},
        {"append, prepend, add, incr",
         test_append_prepend_add_incr,
         test_setup, teardown, NULL},
        {"append, prepend, add, incrWithDefault",
         test_append_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, add, prepend",
         test_append_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, add, set",
         test_append_prepend_add_set,
         test_setup, teardown, NULL},
        {"append, prepend, append, add",
         test_append_prepend_append_add,
         test_setup, teardown, NULL},
        {"append, prepend, append, append",
         test_append_prepend_append_append,
         test_setup, teardown, NULL},
        {"append, prepend, append, decr",
         test_append_prepend_append_decr,
         test_setup, teardown, NULL},
        {"append, prepend, append, decrWithDefault",
         test_append_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, append, delay",
         test_append_prepend_append_delay,
         test_setup, teardown, NULL},
        {"append, prepend, append, delete",
         test_append_prepend_append_delete,
         test_setup, teardown, NULL},
        {"append, prepend, append, flush",
         test_append_prepend_append_flush,
         test_setup, teardown, NULL},
        {"append, prepend, append, incr",
         test_append_prepend_append_incr,
         test_setup, teardown, NULL},
        {"append, prepend, append, incrWithDefault",
         test_append_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, append, prepend",
         test_append_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, append, set",
         test_append_prepend_append_set,
         test_setup, teardown, NULL},
        {"append, prepend, decr, add",
         test_append_prepend_decr_add,
         test_setup, teardown, NULL},
        {"append, prepend, decr, append",
         test_append_prepend_decr_append,
         test_setup, teardown, NULL},
        {"append, prepend, decr, decr",
         test_append_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"append, prepend, decr, decrWithDefault",
         test_append_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, decr, delay",
         test_append_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"append, prepend, decr, delete",
         test_append_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"append, prepend, decr, flush",
         test_append_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"append, prepend, decr, incr",
         test_append_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"append, prepend, decr, incrWithDefault",
         test_append_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, decr, prepend",
         test_append_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, decr, set",
         test_append_prepend_decr_set,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, add",
         test_append_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, append",
         test_append_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, decr",
         test_append_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, decrWithDefault",
         test_append_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, delay",
         test_append_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, delete",
         test_append_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, flush",
         test_append_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, incr",
         test_append_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, incrWithDefault",
         test_append_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, prepend",
         test_append_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, decrWithDefault, set",
         test_append_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, prepend, delay, add",
         test_append_prepend_delay_add,
         test_setup, teardown, NULL},
        {"append, prepend, delay, append",
         test_append_prepend_delay_append,
         test_setup, teardown, NULL},
        {"append, prepend, delay, decr",
         test_append_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"append, prepend, delay, decrWithDefault",
         test_append_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, delay, delay",
         test_append_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"append, prepend, delay, delete",
         test_append_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"append, prepend, delay, flush",
         test_append_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"append, prepend, delay, incr",
         test_append_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"append, prepend, delay, incrWithDefault",
         test_append_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, delay, prepend",
         test_append_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, delay, set",
         test_append_prepend_delay_set,
         test_setup, teardown, NULL},
        {"append, prepend, delete, add",
         test_append_prepend_delete_add,
         test_setup, teardown, NULL},
        {"append, prepend, delete, append",
         test_append_prepend_delete_append,
         test_setup, teardown, NULL},
        {"append, prepend, delete, decr",
         test_append_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"append, prepend, delete, decrWithDefault",
         test_append_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, delete, delay",
         test_append_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"append, prepend, delete, delete",
         test_append_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"append, prepend, delete, flush",
         test_append_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"append, prepend, delete, incr",
         test_append_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"append, prepend, delete, incrWithDefault",
         test_append_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, delete, prepend",
         test_append_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, delete, set",
         test_append_prepend_delete_set,
         test_setup, teardown, NULL},
        {"append, prepend, flush, add",
         test_append_prepend_flush_add,
         test_setup, teardown, NULL},
        {"append, prepend, flush, append",
         test_append_prepend_flush_append,
         test_setup, teardown, NULL},
        {"append, prepend, flush, decr",
         test_append_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"append, prepend, flush, decrWithDefault",
         test_append_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, flush, delay",
         test_append_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"append, prepend, flush, delete",
         test_append_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"append, prepend, flush, flush",
         test_append_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"append, prepend, flush, incr",
         test_append_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"append, prepend, flush, incrWithDefault",
         test_append_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, flush, prepend",
         test_append_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, flush, set",
         test_append_prepend_flush_set,
         test_setup, teardown, NULL},
        {"append, prepend, incr, add",
         test_append_prepend_incr_add,
         test_setup, teardown, NULL},
        {"append, prepend, incr, append",
         test_append_prepend_incr_append,
         test_setup, teardown, NULL},
        {"append, prepend, incr, decr",
         test_append_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"append, prepend, incr, decrWithDefault",
         test_append_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, incr, delay",
         test_append_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"append, prepend, incr, delete",
         test_append_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"append, prepend, incr, flush",
         test_append_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"append, prepend, incr, incr",
         test_append_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"append, prepend, incr, incrWithDefault",
         test_append_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, incr, prepend",
         test_append_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, incr, set",
         test_append_prepend_incr_set,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, add",
         test_append_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, append",
         test_append_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, decr",
         test_append_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, decrWithDefault",
         test_append_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, delay",
         test_append_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, delete",
         test_append_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, flush",
         test_append_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, incr",
         test_append_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, incrWithDefault",
         test_append_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, prepend",
         test_append_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, incrWithDefault, set",
         test_append_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, add",
         test_append_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, append",
         test_append_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, decr",
         test_append_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, decrWithDefault",
         test_append_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, delay",
         test_append_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, delete",
         test_append_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, flush",
         test_append_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, incr",
         test_append_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, incrWithDefault",
         test_append_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, prepend",
         test_append_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, prepend, set",
         test_append_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"append, prepend, set, add",
         test_append_prepend_set_add,
         test_setup, teardown, NULL},
        {"append, prepend, set, append",
         test_append_prepend_set_append,
         test_setup, teardown, NULL},
        {"append, prepend, set, decr",
         test_append_prepend_set_decr,
         test_setup, teardown, NULL},
        {"append, prepend, set, decrWithDefault",
         test_append_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, set, delay",
         test_append_prepend_set_delay,
         test_setup, teardown, NULL},
        {"append, prepend, set, delete",
         test_append_prepend_set_delete,
         test_setup, teardown, NULL},
        {"append, prepend, set, flush",
         test_append_prepend_set_flush,
         test_setup, teardown, NULL},
        {"append, prepend, set, incr",
         test_append_prepend_set_incr,
         test_setup, teardown, NULL},
        {"append, prepend, set, incrWithDefault",
         test_append_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, prepend, set, prepend",
         test_append_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"append, prepend, set, set",
         test_append_prepend_set_set,
         test_setup, teardown, NULL},
        {"append, set, add, add",
         test_append_set_add_add,
         test_setup, teardown, NULL},
        {"append, set, add, append",
         test_append_set_add_append,
         test_setup, teardown, NULL},
        {"append, set, add, decr",
         test_append_set_add_decr,
         test_setup, teardown, NULL},
        {"append, set, add, decrWithDefault",
         test_append_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, add, delay",
         test_append_set_add_delay,
         test_setup, teardown, NULL},
        {"append, set, add, delete",
         test_append_set_add_delete,
         test_setup, teardown, NULL},
        {"append, set, add, flush",
         test_append_set_add_flush,
         test_setup, teardown, NULL},
        {"append, set, add, incr",
         test_append_set_add_incr,
         test_setup, teardown, NULL},
        {"append, set, add, incrWithDefault",
         test_append_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, add, prepend",
         test_append_set_add_prepend,
         test_setup, teardown, NULL},
        {"append, set, add, set",
         test_append_set_add_set,
         test_setup, teardown, NULL},
        {"append, set, append, add",
         test_append_set_append_add,
         test_setup, teardown, NULL},
        {"append, set, append, append",
         test_append_set_append_append,
         test_setup, teardown, NULL},
        {"append, set, append, decr",
         test_append_set_append_decr,
         test_setup, teardown, NULL},
        {"append, set, append, decrWithDefault",
         test_append_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, append, delay",
         test_append_set_append_delay,
         test_setup, teardown, NULL},
        {"append, set, append, delete",
         test_append_set_append_delete,
         test_setup, teardown, NULL},
        {"append, set, append, flush",
         test_append_set_append_flush,
         test_setup, teardown, NULL},
        {"append, set, append, incr",
         test_append_set_append_incr,
         test_setup, teardown, NULL},
        {"append, set, append, incrWithDefault",
         test_append_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, append, prepend",
         test_append_set_append_prepend,
         test_setup, teardown, NULL},
        {"append, set, append, set",
         test_append_set_append_set,
         test_setup, teardown, NULL},
        {"append, set, decr, add",
         test_append_set_decr_add,
         test_setup, teardown, NULL},
        {"append, set, decr, append",
         test_append_set_decr_append,
         test_setup, teardown, NULL},
        {"append, set, decr, decr",
         test_append_set_decr_decr,
         test_setup, teardown, NULL},
        {"append, set, decr, decrWithDefault",
         test_append_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, decr, delay",
         test_append_set_decr_delay,
         test_setup, teardown, NULL},
        {"append, set, decr, delete",
         test_append_set_decr_delete,
         test_setup, teardown, NULL},
        {"append, set, decr, flush",
         test_append_set_decr_flush,
         test_setup, teardown, NULL},
        {"append, set, decr, incr",
         test_append_set_decr_incr,
         test_setup, teardown, NULL},
        {"append, set, decr, incrWithDefault",
         test_append_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, decr, prepend",
         test_append_set_decr_prepend,
         test_setup, teardown, NULL},
        {"append, set, decr, set",
         test_append_set_decr_set,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, add",
         test_append_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, append",
         test_append_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, decr",
         test_append_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, decrWithDefault",
         test_append_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, delay",
         test_append_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, delete",
         test_append_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, flush",
         test_append_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, incr",
         test_append_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, incrWithDefault",
         test_append_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, prepend",
         test_append_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, set, decrWithDefault, set",
         test_append_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, set, delay, add",
         test_append_set_delay_add,
         test_setup, teardown, NULL},
        {"append, set, delay, append",
         test_append_set_delay_append,
         test_setup, teardown, NULL},
        {"append, set, delay, decr",
         test_append_set_delay_decr,
         test_setup, teardown, NULL},
        {"append, set, delay, decrWithDefault",
         test_append_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, delay, delay",
         test_append_set_delay_delay,
         test_setup, teardown, NULL},
        {"append, set, delay, delete",
         test_append_set_delay_delete,
         test_setup, teardown, NULL},
        {"append, set, delay, flush",
         test_append_set_delay_flush,
         test_setup, teardown, NULL},
        {"append, set, delay, incr",
         test_append_set_delay_incr,
         test_setup, teardown, NULL},
        {"append, set, delay, incrWithDefault",
         test_append_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, delay, prepend",
         test_append_set_delay_prepend,
         test_setup, teardown, NULL},
        {"append, set, delay, set",
         test_append_set_delay_set,
         test_setup, teardown, NULL},
        {"append, set, delete, add",
         test_append_set_delete_add,
         test_setup, teardown, NULL},
        {"append, set, delete, append",
         test_append_set_delete_append,
         test_setup, teardown, NULL},
        {"append, set, delete, decr",
         test_append_set_delete_decr,
         test_setup, teardown, NULL},
        {"append, set, delete, decrWithDefault",
         test_append_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, delete, delay",
         test_append_set_delete_delay,
         test_setup, teardown, NULL},
        {"append, set, delete, delete",
         test_append_set_delete_delete,
         test_setup, teardown, NULL},
        {"append, set, delete, flush",
         test_append_set_delete_flush,
         test_setup, teardown, NULL},
        {"append, set, delete, incr",
         test_append_set_delete_incr,
         test_setup, teardown, NULL},
        {"append, set, delete, incrWithDefault",
         test_append_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, delete, prepend",
         test_append_set_delete_prepend,
         test_setup, teardown, NULL},
        {"append, set, delete, set",
         test_append_set_delete_set,
         test_setup, teardown, NULL},
        {"append, set, flush, add",
         test_append_set_flush_add,
         test_setup, teardown, NULL},
        {"append, set, flush, append",
         test_append_set_flush_append,
         test_setup, teardown, NULL},
        {"append, set, flush, decr",
         test_append_set_flush_decr,
         test_setup, teardown, NULL},
        {"append, set, flush, decrWithDefault",
         test_append_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, flush, delay",
         test_append_set_flush_delay,
         test_setup, teardown, NULL},
        {"append, set, flush, delete",
         test_append_set_flush_delete,
         test_setup, teardown, NULL},
        {"append, set, flush, flush",
         test_append_set_flush_flush,
         test_setup, teardown, NULL},
        {"append, set, flush, incr",
         test_append_set_flush_incr,
         test_setup, teardown, NULL},
        {"append, set, flush, incrWithDefault",
         test_append_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, flush, prepend",
         test_append_set_flush_prepend,
         test_setup, teardown, NULL},
        {"append, set, flush, set",
         test_append_set_flush_set,
         test_setup, teardown, NULL},
        {"append, set, incr, add",
         test_append_set_incr_add,
         test_setup, teardown, NULL},
        {"append, set, incr, append",
         test_append_set_incr_append,
         test_setup, teardown, NULL},
        {"append, set, incr, decr",
         test_append_set_incr_decr,
         test_setup, teardown, NULL},
        {"append, set, incr, decrWithDefault",
         test_append_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, incr, delay",
         test_append_set_incr_delay,
         test_setup, teardown, NULL},
        {"append, set, incr, delete",
         test_append_set_incr_delete,
         test_setup, teardown, NULL},
        {"append, set, incr, flush",
         test_append_set_incr_flush,
         test_setup, teardown, NULL},
        {"append, set, incr, incr",
         test_append_set_incr_incr,
         test_setup, teardown, NULL},
        {"append, set, incr, incrWithDefault",
         test_append_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, incr, prepend",
         test_append_set_incr_prepend,
         test_setup, teardown, NULL},
        {"append, set, incr, set",
         test_append_set_incr_set,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, add",
         test_append_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, append",
         test_append_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, decr",
         test_append_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, decrWithDefault",
         test_append_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, delay",
         test_append_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, delete",
         test_append_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, flush",
         test_append_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, incr",
         test_append_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, incrWithDefault",
         test_append_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, prepend",
         test_append_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"append, set, incrWithDefault, set",
         test_append_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"append, set, prepend, add",
         test_append_set_prepend_add,
         test_setup, teardown, NULL},
        {"append, set, prepend, append",
         test_append_set_prepend_append,
         test_setup, teardown, NULL},
        {"append, set, prepend, decr",
         test_append_set_prepend_decr,
         test_setup, teardown, NULL},
        {"append, set, prepend, decrWithDefault",
         test_append_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, prepend, delay",
         test_append_set_prepend_delay,
         test_setup, teardown, NULL},
        {"append, set, prepend, delete",
         test_append_set_prepend_delete,
         test_setup, teardown, NULL},
        {"append, set, prepend, flush",
         test_append_set_prepend_flush,
         test_setup, teardown, NULL},
        {"append, set, prepend, incr",
         test_append_set_prepend_incr,
         test_setup, teardown, NULL},
        {"append, set, prepend, incrWithDefault",
         test_append_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, prepend, prepend",
         test_append_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"append, set, prepend, set",
         test_append_set_prepend_set,
         test_setup, teardown, NULL},
        {"append, set, set, add",
         test_append_set_set_add,
         test_setup, teardown, NULL},
        {"append, set, set, append",
         test_append_set_set_append,
         test_setup, teardown, NULL},
        {"append, set, set, decr",
         test_append_set_set_decr,
         test_setup, teardown, NULL},
        {"append, set, set, decrWithDefault",
         test_append_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, set, delay",
         test_append_set_set_delay,
         test_setup, teardown, NULL},
        {"append, set, set, delete",
         test_append_set_set_delete,
         test_setup, teardown, NULL},
        {"append, set, set, flush",
         test_append_set_set_flush,
         test_setup, teardown, NULL},
        {"append, set, set, incr",
         test_append_set_set_incr,
         test_setup, teardown, NULL},
        {"append, set, set, incrWithDefault",
         test_append_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"append, set, set, prepend",
         test_append_set_set_prepend,
         test_setup, teardown, NULL},
        {"append, set, set, set",
         test_append_set_set_set,
         test_setup, teardown, NULL},
        {"decr, add, add, add",
         test_decr_add_add_add,
         test_setup, teardown, NULL},
        {"decr, add, add, append",
         test_decr_add_add_append,
         test_setup, teardown, NULL},
        {"decr, add, add, decr",
         test_decr_add_add_decr,
         test_setup, teardown, NULL},
        {"decr, add, add, decrWithDefault",
         test_decr_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, add, delay",
         test_decr_add_add_delay,
         test_setup, teardown, NULL},
        {"decr, add, add, delete",
         test_decr_add_add_delete,
         test_setup, teardown, NULL},
        {"decr, add, add, flush",
         test_decr_add_add_flush,
         test_setup, teardown, NULL},
        {"decr, add, add, incr",
         test_decr_add_add_incr,
         test_setup, teardown, NULL},
        {"decr, add, add, incrWithDefault",
         test_decr_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, add, prepend",
         test_decr_add_add_prepend,
         test_setup, teardown, NULL},
        {"decr, add, add, set",
         test_decr_add_add_set,
         test_setup, teardown, NULL},
        {"decr, add, append, add",
         test_decr_add_append_add,
         test_setup, teardown, NULL},
        {"decr, add, append, append",
         test_decr_add_append_append,
         test_setup, teardown, NULL},
        {"decr, add, append, decr",
         test_decr_add_append_decr,
         test_setup, teardown, NULL},
        {"decr, add, append, decrWithDefault",
         test_decr_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, append, delay",
         test_decr_add_append_delay,
         test_setup, teardown, NULL},
        {"decr, add, append, delete",
         test_decr_add_append_delete,
         test_setup, teardown, NULL},
        {"decr, add, append, flush",
         test_decr_add_append_flush,
         test_setup, teardown, NULL},
        {"decr, add, append, incr",
         test_decr_add_append_incr,
         test_setup, teardown, NULL},
        {"decr, add, append, incrWithDefault",
         test_decr_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, append, prepend",
         test_decr_add_append_prepend,
         test_setup, teardown, NULL},
        {"decr, add, append, set",
         test_decr_add_append_set,
         test_setup, teardown, NULL},
        {"decr, add, decr, add",
         test_decr_add_decr_add,
         test_setup, teardown, NULL},
        {"decr, add, decr, append",
         test_decr_add_decr_append,
         test_setup, teardown, NULL},
        {"decr, add, decr, decr",
         test_decr_add_decr_decr,
         test_setup, teardown, NULL},
        {"decr, add, decr, decrWithDefault",
         test_decr_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, decr, delay",
         test_decr_add_decr_delay,
         test_setup, teardown, NULL},
        {"decr, add, decr, delete",
         test_decr_add_decr_delete,
         test_setup, teardown, NULL},
        {"decr, add, decr, flush",
         test_decr_add_decr_flush,
         test_setup, teardown, NULL},
        {"decr, add, decr, incr",
         test_decr_add_decr_incr,
         test_setup, teardown, NULL},
        {"decr, add, decr, incrWithDefault",
         test_decr_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, decr, prepend",
         test_decr_add_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, add, decr, set",
         test_decr_add_decr_set,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, add",
         test_decr_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, append",
         test_decr_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, decr",
         test_decr_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, decrWithDefault",
         test_decr_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, delay",
         test_decr_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, delete",
         test_decr_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, flush",
         test_decr_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, incr",
         test_decr_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, incrWithDefault",
         test_decr_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, prepend",
         test_decr_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, add, decrWithDefault, set",
         test_decr_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, add, delay, add",
         test_decr_add_delay_add,
         test_setup, teardown, NULL},
        {"decr, add, delay, append",
         test_decr_add_delay_append,
         test_setup, teardown, NULL},
        {"decr, add, delay, decr",
         test_decr_add_delay_decr,
         test_setup, teardown, NULL},
        {"decr, add, delay, decrWithDefault",
         test_decr_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, delay, delay",
         test_decr_add_delay_delay,
         test_setup, teardown, NULL},
        {"decr, add, delay, delete",
         test_decr_add_delay_delete,
         test_setup, teardown, NULL},
        {"decr, add, delay, flush",
         test_decr_add_delay_flush,
         test_setup, teardown, NULL},
        {"decr, add, delay, incr",
         test_decr_add_delay_incr,
         test_setup, teardown, NULL},
        {"decr, add, delay, incrWithDefault",
         test_decr_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, delay, prepend",
         test_decr_add_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, add, delay, set",
         test_decr_add_delay_set,
         test_setup, teardown, NULL},
        {"decr, add, delete, add",
         test_decr_add_delete_add,
         test_setup, teardown, NULL},
        {"decr, add, delete, append",
         test_decr_add_delete_append,
         test_setup, teardown, NULL},
        {"decr, add, delete, decr",
         test_decr_add_delete_decr,
         test_setup, teardown, NULL},
        {"decr, add, delete, decrWithDefault",
         test_decr_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, delete, delay",
         test_decr_add_delete_delay,
         test_setup, teardown, NULL},
        {"decr, add, delete, delete",
         test_decr_add_delete_delete,
         test_setup, teardown, NULL},
        {"decr, add, delete, flush",
         test_decr_add_delete_flush,
         test_setup, teardown, NULL},
        {"decr, add, delete, incr",
         test_decr_add_delete_incr,
         test_setup, teardown, NULL},
        {"decr, add, delete, incrWithDefault",
         test_decr_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, delete, prepend",
         test_decr_add_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, add, delete, set",
         test_decr_add_delete_set,
         test_setup, teardown, NULL},
        {"decr, add, flush, add",
         test_decr_add_flush_add,
         test_setup, teardown, NULL},
        {"decr, add, flush, append",
         test_decr_add_flush_append,
         test_setup, teardown, NULL},
        {"decr, add, flush, decr",
         test_decr_add_flush_decr,
         test_setup, teardown, NULL},
        {"decr, add, flush, decrWithDefault",
         test_decr_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, flush, delay",
         test_decr_add_flush_delay,
         test_setup, teardown, NULL},
        {"decr, add, flush, delete",
         test_decr_add_flush_delete,
         test_setup, teardown, NULL},
        {"decr, add, flush, flush",
         test_decr_add_flush_flush,
         test_setup, teardown, NULL},
        {"decr, add, flush, incr",
         test_decr_add_flush_incr,
         test_setup, teardown, NULL},
        {"decr, add, flush, incrWithDefault",
         test_decr_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, flush, prepend",
         test_decr_add_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, add, flush, set",
         test_decr_add_flush_set,
         test_setup, teardown, NULL},
        {"decr, add, incr, add",
         test_decr_add_incr_add,
         test_setup, teardown, NULL},
        {"decr, add, incr, append",
         test_decr_add_incr_append,
         test_setup, teardown, NULL},
        {"decr, add, incr, decr",
         test_decr_add_incr_decr,
         test_setup, teardown, NULL},
        {"decr, add, incr, decrWithDefault",
         test_decr_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, incr, delay",
         test_decr_add_incr_delay,
         test_setup, teardown, NULL},
        {"decr, add, incr, delete",
         test_decr_add_incr_delete,
         test_setup, teardown, NULL},
        {"decr, add, incr, flush",
         test_decr_add_incr_flush,
         test_setup, teardown, NULL},
        {"decr, add, incr, incr",
         test_decr_add_incr_incr,
         test_setup, teardown, NULL},
        {"decr, add, incr, incrWithDefault",
         test_decr_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, incr, prepend",
         test_decr_add_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, add, incr, set",
         test_decr_add_incr_set,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, add",
         test_decr_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, append",
         test_decr_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, decr",
         test_decr_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, decrWithDefault",
         test_decr_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, delay",
         test_decr_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, delete",
         test_decr_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, flush",
         test_decr_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, incr",
         test_decr_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, incrWithDefault",
         test_decr_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, prepend",
         test_decr_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, add, incrWithDefault, set",
         test_decr_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, add, prepend, add",
         test_decr_add_prepend_add,
         test_setup, teardown, NULL},
        {"decr, add, prepend, append",
         test_decr_add_prepend_append,
         test_setup, teardown, NULL},
        {"decr, add, prepend, decr",
         test_decr_add_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, add, prepend, decrWithDefault",
         test_decr_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, prepend, delay",
         test_decr_add_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, add, prepend, delete",
         test_decr_add_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, add, prepend, flush",
         test_decr_add_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, add, prepend, incr",
         test_decr_add_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, add, prepend, incrWithDefault",
         test_decr_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, prepend, prepend",
         test_decr_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, add, prepend, set",
         test_decr_add_prepend_set,
         test_setup, teardown, NULL},
        {"decr, add, set, add",
         test_decr_add_set_add,
         test_setup, teardown, NULL},
        {"decr, add, set, append",
         test_decr_add_set_append,
         test_setup, teardown, NULL},
        {"decr, add, set, decr",
         test_decr_add_set_decr,
         test_setup, teardown, NULL},
        {"decr, add, set, decrWithDefault",
         test_decr_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, set, delay",
         test_decr_add_set_delay,
         test_setup, teardown, NULL},
        {"decr, add, set, delete",
         test_decr_add_set_delete,
         test_setup, teardown, NULL},
        {"decr, add, set, flush",
         test_decr_add_set_flush,
         test_setup, teardown, NULL},
        {"decr, add, set, incr",
         test_decr_add_set_incr,
         test_setup, teardown, NULL},
        {"decr, add, set, incrWithDefault",
         test_decr_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, add, set, prepend",
         test_decr_add_set_prepend,
         test_setup, teardown, NULL},
        {"decr, add, set, set",
         test_decr_add_set_set,
         test_setup, teardown, NULL},
        {"decr, append, add, add",
         test_decr_append_add_add,
         test_setup, teardown, NULL},
        {"decr, append, add, append",
         test_decr_append_add_append,
         test_setup, teardown, NULL},
        {"decr, append, add, decr",
         test_decr_append_add_decr,
         test_setup, teardown, NULL},
        {"decr, append, add, decrWithDefault",
         test_decr_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, add, delay",
         test_decr_append_add_delay,
         test_setup, teardown, NULL},
        {"decr, append, add, delete",
         test_decr_append_add_delete,
         test_setup, teardown, NULL},
        {"decr, append, add, flush",
         test_decr_append_add_flush,
         test_setup, teardown, NULL},
        {"decr, append, add, incr",
         test_decr_append_add_incr,
         test_setup, teardown, NULL},
        {"decr, append, add, incrWithDefault",
         test_decr_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, add, prepend",
         test_decr_append_add_prepend,
         test_setup, teardown, NULL},
        {"decr, append, add, set",
         test_decr_append_add_set,
         test_setup, teardown, NULL},
        {"decr, append, append, add",
         test_decr_append_append_add,
         test_setup, teardown, NULL},
        {"decr, append, append, append",
         test_decr_append_append_append,
         test_setup, teardown, NULL},
        {"decr, append, append, decr",
         test_decr_append_append_decr,
         test_setup, teardown, NULL},
        {"decr, append, append, decrWithDefault",
         test_decr_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, append, delay",
         test_decr_append_append_delay,
         test_setup, teardown, NULL},
        {"decr, append, append, delete",
         test_decr_append_append_delete,
         test_setup, teardown, NULL},
        {"decr, append, append, flush",
         test_decr_append_append_flush,
         test_setup, teardown, NULL},
        {"decr, append, append, incr",
         test_decr_append_append_incr,
         test_setup, teardown, NULL},
        {"decr, append, append, incrWithDefault",
         test_decr_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, append, prepend",
         test_decr_append_append_prepend,
         test_setup, teardown, NULL},
        {"decr, append, append, set",
         test_decr_append_append_set,
         test_setup, teardown, NULL},
        {"decr, append, decr, add",
         test_decr_append_decr_add,
         test_setup, teardown, NULL},
        {"decr, append, decr, append",
         test_decr_append_decr_append,
         test_setup, teardown, NULL},
        {"decr, append, decr, decr",
         test_decr_append_decr_decr,
         test_setup, teardown, NULL},
        {"decr, append, decr, decrWithDefault",
         test_decr_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, decr, delay",
         test_decr_append_decr_delay,
         test_setup, teardown, NULL},
        {"decr, append, decr, delete",
         test_decr_append_decr_delete,
         test_setup, teardown, NULL},
        {"decr, append, decr, flush",
         test_decr_append_decr_flush,
         test_setup, teardown, NULL},
        {"decr, append, decr, incr",
         test_decr_append_decr_incr,
         test_setup, teardown, NULL},
        {"decr, append, decr, incrWithDefault",
         test_decr_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, decr, prepend",
         test_decr_append_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, append, decr, set",
         test_decr_append_decr_set,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, add",
         test_decr_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, append",
         test_decr_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, decr",
         test_decr_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, decrWithDefault",
         test_decr_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, delay",
         test_decr_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, delete",
         test_decr_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, flush",
         test_decr_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, incr",
         test_decr_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, incrWithDefault",
         test_decr_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, prepend",
         test_decr_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, append, decrWithDefault, set",
         test_decr_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, append, delay, add",
         test_decr_append_delay_add,
         test_setup, teardown, NULL},
        {"decr, append, delay, append",
         test_decr_append_delay_append,
         test_setup, teardown, NULL},
        {"decr, append, delay, decr",
         test_decr_append_delay_decr,
         test_setup, teardown, NULL},
        {"decr, append, delay, decrWithDefault",
         test_decr_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, delay, delay",
         test_decr_append_delay_delay,
         test_setup, teardown, NULL},
        {"decr, append, delay, delete",
         test_decr_append_delay_delete,
         test_setup, teardown, NULL},
        {"decr, append, delay, flush",
         test_decr_append_delay_flush,
         test_setup, teardown, NULL},
        {"decr, append, delay, incr",
         test_decr_append_delay_incr,
         test_setup, teardown, NULL},
        {"decr, append, delay, incrWithDefault",
         test_decr_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, delay, prepend",
         test_decr_append_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, append, delay, set",
         test_decr_append_delay_set,
         test_setup, teardown, NULL},
        {"decr, append, delete, add",
         test_decr_append_delete_add,
         test_setup, teardown, NULL},
        {"decr, append, delete, append",
         test_decr_append_delete_append,
         test_setup, teardown, NULL},
        {"decr, append, delete, decr",
         test_decr_append_delete_decr,
         test_setup, teardown, NULL},
        {"decr, append, delete, decrWithDefault",
         test_decr_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, delete, delay",
         test_decr_append_delete_delay,
         test_setup, teardown, NULL},
        {"decr, append, delete, delete",
         test_decr_append_delete_delete,
         test_setup, teardown, NULL},
        {"decr, append, delete, flush",
         test_decr_append_delete_flush,
         test_setup, teardown, NULL},
        {"decr, append, delete, incr",
         test_decr_append_delete_incr,
         test_setup, teardown, NULL},
        {"decr, append, delete, incrWithDefault",
         test_decr_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, delete, prepend",
         test_decr_append_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, append, delete, set",
         test_decr_append_delete_set,
         test_setup, teardown, NULL},
        {"decr, append, flush, add",
         test_decr_append_flush_add,
         test_setup, teardown, NULL},
        {"decr, append, flush, append",
         test_decr_append_flush_append,
         test_setup, teardown, NULL},
        {"decr, append, flush, decr",
         test_decr_append_flush_decr,
         test_setup, teardown, NULL},
        {"decr, append, flush, decrWithDefault",
         test_decr_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, flush, delay",
         test_decr_append_flush_delay,
         test_setup, teardown, NULL},
        {"decr, append, flush, delete",
         test_decr_append_flush_delete,
         test_setup, teardown, NULL},
        {"decr, append, flush, flush",
         test_decr_append_flush_flush,
         test_setup, teardown, NULL},
        {"decr, append, flush, incr",
         test_decr_append_flush_incr,
         test_setup, teardown, NULL},
        {"decr, append, flush, incrWithDefault",
         test_decr_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, flush, prepend",
         test_decr_append_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, append, flush, set",
         test_decr_append_flush_set,
         test_setup, teardown, NULL},
        {"decr, append, incr, add",
         test_decr_append_incr_add,
         test_setup, teardown, NULL},
        {"decr, append, incr, append",
         test_decr_append_incr_append,
         test_setup, teardown, NULL},
        {"decr, append, incr, decr",
         test_decr_append_incr_decr,
         test_setup, teardown, NULL},
        {"decr, append, incr, decrWithDefault",
         test_decr_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, incr, delay",
         test_decr_append_incr_delay,
         test_setup, teardown, NULL},
        {"decr, append, incr, delete",
         test_decr_append_incr_delete,
         test_setup, teardown, NULL},
        {"decr, append, incr, flush",
         test_decr_append_incr_flush,
         test_setup, teardown, NULL},
        {"decr, append, incr, incr",
         test_decr_append_incr_incr,
         test_setup, teardown, NULL},
        {"decr, append, incr, incrWithDefault",
         test_decr_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, incr, prepend",
         test_decr_append_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, append, incr, set",
         test_decr_append_incr_set,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, add",
         test_decr_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, append",
         test_decr_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, decr",
         test_decr_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, decrWithDefault",
         test_decr_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, delay",
         test_decr_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, delete",
         test_decr_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, flush",
         test_decr_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, incr",
         test_decr_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, incrWithDefault",
         test_decr_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, prepend",
         test_decr_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, append, incrWithDefault, set",
         test_decr_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, append, prepend, add",
         test_decr_append_prepend_add,
         test_setup, teardown, NULL},
        {"decr, append, prepend, append",
         test_decr_append_prepend_append,
         test_setup, teardown, NULL},
        {"decr, append, prepend, decr",
         test_decr_append_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, append, prepend, decrWithDefault",
         test_decr_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, prepend, delay",
         test_decr_append_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, append, prepend, delete",
         test_decr_append_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, append, prepend, flush",
         test_decr_append_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, append, prepend, incr",
         test_decr_append_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, append, prepend, incrWithDefault",
         test_decr_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, prepend, prepend",
         test_decr_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, append, prepend, set",
         test_decr_append_prepend_set,
         test_setup, teardown, NULL},
        {"decr, append, set, add",
         test_decr_append_set_add,
         test_setup, teardown, NULL},
        {"decr, append, set, append",
         test_decr_append_set_append,
         test_setup, teardown, NULL},
        {"decr, append, set, decr",
         test_decr_append_set_decr,
         test_setup, teardown, NULL},
        {"decr, append, set, decrWithDefault",
         test_decr_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, set, delay",
         test_decr_append_set_delay,
         test_setup, teardown, NULL},
        {"decr, append, set, delete",
         test_decr_append_set_delete,
         test_setup, teardown, NULL},
        {"decr, append, set, flush",
         test_decr_append_set_flush,
         test_setup, teardown, NULL},
        {"decr, append, set, incr",
         test_decr_append_set_incr,
         test_setup, teardown, NULL},
        {"decr, append, set, incrWithDefault",
         test_decr_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, append, set, prepend",
         test_decr_append_set_prepend,
         test_setup, teardown, NULL},
        {"decr, append, set, set",
         test_decr_append_set_set,
         test_setup, teardown, NULL},
        {"decr, decr, add, add",
         test_decr_decr_add_add,
         test_setup, teardown, NULL},
        {"decr, decr, add, append",
         test_decr_decr_add_append,
         test_setup, teardown, NULL},
        {"decr, decr, add, decr",
         test_decr_decr_add_decr,
         test_setup, teardown, NULL},
        {"decr, decr, add, decrWithDefault",
         test_decr_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, add, delay",
         test_decr_decr_add_delay,
         test_setup, teardown, NULL},
        {"decr, decr, add, delete",
         test_decr_decr_add_delete,
         test_setup, teardown, NULL},
        {"decr, decr, add, flush",
         test_decr_decr_add_flush,
         test_setup, teardown, NULL},
        {"decr, decr, add, incr",
         test_decr_decr_add_incr,
         test_setup, teardown, NULL},
        {"decr, decr, add, incrWithDefault",
         test_decr_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, add, prepend",
         test_decr_decr_add_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, add, set",
         test_decr_decr_add_set,
         test_setup, teardown, NULL},
        {"decr, decr, append, add",
         test_decr_decr_append_add,
         test_setup, teardown, NULL},
        {"decr, decr, append, append",
         test_decr_decr_append_append,
         test_setup, teardown, NULL},
        {"decr, decr, append, decr",
         test_decr_decr_append_decr,
         test_setup, teardown, NULL},
        {"decr, decr, append, decrWithDefault",
         test_decr_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, append, delay",
         test_decr_decr_append_delay,
         test_setup, teardown, NULL},
        {"decr, decr, append, delete",
         test_decr_decr_append_delete,
         test_setup, teardown, NULL},
        {"decr, decr, append, flush",
         test_decr_decr_append_flush,
         test_setup, teardown, NULL},
        {"decr, decr, append, incr",
         test_decr_decr_append_incr,
         test_setup, teardown, NULL},
        {"decr, decr, append, incrWithDefault",
         test_decr_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, append, prepend",
         test_decr_decr_append_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, append, set",
         test_decr_decr_append_set,
         test_setup, teardown, NULL},
        {"decr, decr, decr, add",
         test_decr_decr_decr_add,
         test_setup, teardown, NULL},
        {"decr, decr, decr, append",
         test_decr_decr_decr_append,
         test_setup, teardown, NULL},
        {"decr, decr, decr, decrWithDefault",
         test_decr_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, decr, delay",
         test_decr_decr_decr_delay,
         test_setup, teardown, NULL},
        {"decr, decr, decr, delete",
         test_decr_decr_decr_delete,
         test_setup, teardown, NULL},
        {"decr, decr, decr, flush",
         test_decr_decr_decr_flush,
         test_setup, teardown, NULL},
        {"decr, decr, decr, incr",
         test_decr_decr_decr_incr,
         test_setup, teardown, NULL},
        {"decr, decr, decr, incrWithDefault",
         test_decr_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, decr, prepend",
         test_decr_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, decr, set",
         test_decr_decr_decr_set,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, add",
         test_decr_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, append",
         test_decr_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, decr",
         test_decr_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, decrWithDefault",
         test_decr_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, delay",
         test_decr_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, delete",
         test_decr_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, flush",
         test_decr_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, incr",
         test_decr_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, incrWithDefault",
         test_decr_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, prepend",
         test_decr_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, decrWithDefault, set",
         test_decr_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, decr, delay, add",
         test_decr_decr_delay_add,
         test_setup, teardown, NULL},
        {"decr, decr, delay, append",
         test_decr_decr_delay_append,
         test_setup, teardown, NULL},
        {"decr, decr, delay, decr",
         test_decr_decr_delay_decr,
         test_setup, teardown, NULL},
        {"decr, decr, delay, decrWithDefault",
         test_decr_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, delay, delay",
         test_decr_decr_delay_delay,
         test_setup, teardown, NULL},
        {"decr, decr, delay, delete",
         test_decr_decr_delay_delete,
         test_setup, teardown, NULL},
        {"decr, decr, delay, flush",
         test_decr_decr_delay_flush,
         test_setup, teardown, NULL},
        {"decr, decr, delay, incr",
         test_decr_decr_delay_incr,
         test_setup, teardown, NULL},
        {"decr, decr, delay, incrWithDefault",
         test_decr_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, delay, prepend",
         test_decr_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, delay, set",
         test_decr_decr_delay_set,
         test_setup, teardown, NULL},
        {"decr, decr, delete, add",
         test_decr_decr_delete_add,
         test_setup, teardown, NULL},
        {"decr, decr, delete, append",
         test_decr_decr_delete_append,
         test_setup, teardown, NULL},
        {"decr, decr, delete, decr",
         test_decr_decr_delete_decr,
         test_setup, teardown, NULL},
        {"decr, decr, delete, decrWithDefault",
         test_decr_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, delete, delay",
         test_decr_decr_delete_delay,
         test_setup, teardown, NULL},
        {"decr, decr, delete, delete",
         test_decr_decr_delete_delete,
         test_setup, teardown, NULL},
        {"decr, decr, delete, flush",
         test_decr_decr_delete_flush,
         test_setup, teardown, NULL},
        {"decr, decr, delete, incr",
         test_decr_decr_delete_incr,
         test_setup, teardown, NULL},
        {"decr, decr, delete, incrWithDefault",
         test_decr_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, delete, prepend",
         test_decr_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, delete, set",
         test_decr_decr_delete_set,
         test_setup, teardown, NULL},
        {"decr, decr, flush, add",
         test_decr_decr_flush_add,
         test_setup, teardown, NULL},
        {"decr, decr, flush, append",
         test_decr_decr_flush_append,
         test_setup, teardown, NULL},
        {"decr, decr, flush, decr",
         test_decr_decr_flush_decr,
         test_setup, teardown, NULL},
        {"decr, decr, flush, decrWithDefault",
         test_decr_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, flush, delay",
         test_decr_decr_flush_delay,
         test_setup, teardown, NULL},
        {"decr, decr, flush, delete",
         test_decr_decr_flush_delete,
         test_setup, teardown, NULL},
        {"decr, decr, flush, flush",
         test_decr_decr_flush_flush,
         test_setup, teardown, NULL},
        {"decr, decr, flush, incr",
         test_decr_decr_flush_incr,
         test_setup, teardown, NULL},
        {"decr, decr, flush, incrWithDefault",
         test_decr_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, flush, prepend",
         test_decr_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, flush, set",
         test_decr_decr_flush_set,
         test_setup, teardown, NULL},
        {"decr, decr, incr, add",
         test_decr_decr_incr_add,
         test_setup, teardown, NULL},
        {"decr, decr, incr, append",
         test_decr_decr_incr_append,
         test_setup, teardown, NULL},
        {"decr, decr, incr, decr",
         test_decr_decr_incr_decr,
         test_setup, teardown, NULL},
        {"decr, decr, incr, decrWithDefault",
         test_decr_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, incr, delay",
         test_decr_decr_incr_delay,
         test_setup, teardown, NULL},
        {"decr, decr, incr, delete",
         test_decr_decr_incr_delete,
         test_setup, teardown, NULL},
        {"decr, decr, incr, flush",
         test_decr_decr_incr_flush,
         test_setup, teardown, NULL},
        {"decr, decr, incr, incr",
         test_decr_decr_incr_incr,
         test_setup, teardown, NULL},
        {"decr, decr, incr, incrWithDefault",
         test_decr_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, incr, prepend",
         test_decr_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, incr, set",
         test_decr_decr_incr_set,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, add",
         test_decr_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, append",
         test_decr_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, decr",
         test_decr_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, decrWithDefault",
         test_decr_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, delay",
         test_decr_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, delete",
         test_decr_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, flush",
         test_decr_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, incr",
         test_decr_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, incrWithDefault",
         test_decr_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, prepend",
         test_decr_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, incrWithDefault, set",
         test_decr_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, add",
         test_decr_decr_prepend_add,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, append",
         test_decr_decr_prepend_append,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, decr",
         test_decr_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, decrWithDefault",
         test_decr_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, delay",
         test_decr_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, delete",
         test_decr_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, flush",
         test_decr_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, incr",
         test_decr_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, incrWithDefault",
         test_decr_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, prepend",
         test_decr_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, prepend, set",
         test_decr_decr_prepend_set,
         test_setup, teardown, NULL},
        {"decr, decr, set, add",
         test_decr_decr_set_add,
         test_setup, teardown, NULL},
        {"decr, decr, set, append",
         test_decr_decr_set_append,
         test_setup, teardown, NULL},
        {"decr, decr, set, decr",
         test_decr_decr_set_decr,
         test_setup, teardown, NULL},
        {"decr, decr, set, decrWithDefault",
         test_decr_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, set, delay",
         test_decr_decr_set_delay,
         test_setup, teardown, NULL},
        {"decr, decr, set, delete",
         test_decr_decr_set_delete,
         test_setup, teardown, NULL},
        {"decr, decr, set, flush",
         test_decr_decr_set_flush,
         test_setup, teardown, NULL},
        {"decr, decr, set, incr",
         test_decr_decr_set_incr,
         test_setup, teardown, NULL},
        {"decr, decr, set, incrWithDefault",
         test_decr_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decr, set, prepend",
         test_decr_decr_set_prepend,
         test_setup, teardown, NULL},
        {"decr, decr, set, set",
         test_decr_decr_set_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, add",
         test_decr_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, append",
         test_decr_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, decr",
         test_decr_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, decrWithDefault",
         test_decr_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, delay",
         test_decr_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, delete",
         test_decr_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, flush",
         test_decr_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, incr",
         test_decr_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, incrWithDefault",
         test_decr_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, prepend",
         test_decr_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, add, set",
         test_decr_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, add",
         test_decr_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, append",
         test_decr_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, decr",
         test_decr_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, decrWithDefault",
         test_decr_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, delay",
         test_decr_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, delete",
         test_decr_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, flush",
         test_decr_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, incr",
         test_decr_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, incrWithDefault",
         test_decr_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, prepend",
         test_decr_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, append, set",
         test_decr_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, add",
         test_decr_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, append",
         test_decr_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, decr",
         test_decr_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, decrWithDefault",
         test_decr_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, delay",
         test_decr_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, delete",
         test_decr_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, flush",
         test_decr_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, incr",
         test_decr_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, incrWithDefault",
         test_decr_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, prepend",
         test_decr_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decr, set",
         test_decr_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, add",
         test_decr_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, append",
         test_decr_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, decr",
         test_decr_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, decrWithDefault",
         test_decr_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, delay",
         test_decr_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, delete",
         test_decr_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, flush",
         test_decr_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, incr",
         test_decr_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, incrWithDefault",
         test_decr_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, prepend",
         test_decr_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, decrWithDefault, set",
         test_decr_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, add",
         test_decr_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, append",
         test_decr_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, decr",
         test_decr_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, decrWithDefault",
         test_decr_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, delay",
         test_decr_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, delete",
         test_decr_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, flush",
         test_decr_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, incr",
         test_decr_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, incrWithDefault",
         test_decr_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, prepend",
         test_decr_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delay, set",
         test_decr_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, add",
         test_decr_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, append",
         test_decr_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, decr",
         test_decr_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, decrWithDefault",
         test_decr_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, delay",
         test_decr_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, delete",
         test_decr_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, flush",
         test_decr_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, incr",
         test_decr_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, incrWithDefault",
         test_decr_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, prepend",
         test_decr_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, delete, set",
         test_decr_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, add",
         test_decr_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, append",
         test_decr_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, decr",
         test_decr_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, decrWithDefault",
         test_decr_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, delay",
         test_decr_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, delete",
         test_decr_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, flush",
         test_decr_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, incr",
         test_decr_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, incrWithDefault",
         test_decr_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, prepend",
         test_decr_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, flush, set",
         test_decr_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, add",
         test_decr_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, append",
         test_decr_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, decr",
         test_decr_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, decrWithDefault",
         test_decr_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, delay",
         test_decr_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, delete",
         test_decr_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, flush",
         test_decr_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, incr",
         test_decr_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, incrWithDefault",
         test_decr_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, prepend",
         test_decr_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incr, set",
         test_decr_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, add",
         test_decr_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, append",
         test_decr_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, decr",
         test_decr_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, decrWithDefault",
         test_decr_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, delay",
         test_decr_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, delete",
         test_decr_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, flush",
         test_decr_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, incr",
         test_decr_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, incrWithDefault",
         test_decr_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, prepend",
         test_decr_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, incrWithDefault, set",
         test_decr_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, add",
         test_decr_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, append",
         test_decr_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, decr",
         test_decr_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, decrWithDefault",
         test_decr_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, delay",
         test_decr_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, delete",
         test_decr_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, flush",
         test_decr_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, incr",
         test_decr_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, incrWithDefault",
         test_decr_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, prepend",
         test_decr_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, prepend, set",
         test_decr_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, add",
         test_decr_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, append",
         test_decr_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, decr",
         test_decr_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, decrWithDefault",
         test_decr_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, delay",
         test_decr_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, delete",
         test_decr_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, flush",
         test_decr_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, incr",
         test_decr_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, incrWithDefault",
         test_decr_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, prepend",
         test_decr_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"decr, decrWithDefault, set, set",
         test_decr_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"decr, delay, add, add",
         test_decr_delay_add_add,
         test_setup, teardown, NULL},
        {"decr, delay, add, append",
         test_decr_delay_add_append,
         test_setup, teardown, NULL},
        {"decr, delay, add, decr",
         test_decr_delay_add_decr,
         test_setup, teardown, NULL},
        {"decr, delay, add, decrWithDefault",
         test_decr_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, add, delay",
         test_decr_delay_add_delay,
         test_setup, teardown, NULL},
        {"decr, delay, add, delete",
         test_decr_delay_add_delete,
         test_setup, teardown, NULL},
        {"decr, delay, add, flush",
         test_decr_delay_add_flush,
         test_setup, teardown, NULL},
        {"decr, delay, add, incr",
         test_decr_delay_add_incr,
         test_setup, teardown, NULL},
        {"decr, delay, add, incrWithDefault",
         test_decr_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, add, prepend",
         test_decr_delay_add_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, add, set",
         test_decr_delay_add_set,
         test_setup, teardown, NULL},
        {"decr, delay, append, add",
         test_decr_delay_append_add,
         test_setup, teardown, NULL},
        {"decr, delay, append, append",
         test_decr_delay_append_append,
         test_setup, teardown, NULL},
        {"decr, delay, append, decr",
         test_decr_delay_append_decr,
         test_setup, teardown, NULL},
        {"decr, delay, append, decrWithDefault",
         test_decr_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, append, delay",
         test_decr_delay_append_delay,
         test_setup, teardown, NULL},
        {"decr, delay, append, delete",
         test_decr_delay_append_delete,
         test_setup, teardown, NULL},
        {"decr, delay, append, flush",
         test_decr_delay_append_flush,
         test_setup, teardown, NULL},
        {"decr, delay, append, incr",
         test_decr_delay_append_incr,
         test_setup, teardown, NULL},
        {"decr, delay, append, incrWithDefault",
         test_decr_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, append, prepend",
         test_decr_delay_append_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, append, set",
         test_decr_delay_append_set,
         test_setup, teardown, NULL},
        {"decr, delay, decr, add",
         test_decr_delay_decr_add,
         test_setup, teardown, NULL},
        {"decr, delay, decr, append",
         test_decr_delay_decr_append,
         test_setup, teardown, NULL},
        {"decr, delay, decr, decr",
         test_decr_delay_decr_decr,
         test_setup, teardown, NULL},
        {"decr, delay, decr, decrWithDefault",
         test_decr_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, decr, delay",
         test_decr_delay_decr_delay,
         test_setup, teardown, NULL},
        {"decr, delay, decr, delete",
         test_decr_delay_decr_delete,
         test_setup, teardown, NULL},
        {"decr, delay, decr, flush",
         test_decr_delay_decr_flush,
         test_setup, teardown, NULL},
        {"decr, delay, decr, incr",
         test_decr_delay_decr_incr,
         test_setup, teardown, NULL},
        {"decr, delay, decr, incrWithDefault",
         test_decr_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, decr, prepend",
         test_decr_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, decr, set",
         test_decr_delay_decr_set,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, add",
         test_decr_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, append",
         test_decr_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, decr",
         test_decr_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, decrWithDefault",
         test_decr_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, delay",
         test_decr_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, delete",
         test_decr_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, flush",
         test_decr_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, incr",
         test_decr_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, incrWithDefault",
         test_decr_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, prepend",
         test_decr_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, decrWithDefault, set",
         test_decr_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, delay, delay, add",
         test_decr_delay_delay_add,
         test_setup, teardown, NULL},
        {"decr, delay, delay, append",
         test_decr_delay_delay_append,
         test_setup, teardown, NULL},
        {"decr, delay, delay, decr",
         test_decr_delay_delay_decr,
         test_setup, teardown, NULL},
        {"decr, delay, delay, decrWithDefault",
         test_decr_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, delay, delay",
         test_decr_delay_delay_delay,
         test_setup, teardown, NULL},
        {"decr, delay, delay, delete",
         test_decr_delay_delay_delete,
         test_setup, teardown, NULL},
        {"decr, delay, delay, flush",
         test_decr_delay_delay_flush,
         test_setup, teardown, NULL},
        {"decr, delay, delay, incr",
         test_decr_delay_delay_incr,
         test_setup, teardown, NULL},
        {"decr, delay, delay, incrWithDefault",
         test_decr_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, delay, prepend",
         test_decr_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, delay, set",
         test_decr_delay_delay_set,
         test_setup, teardown, NULL},
        {"decr, delay, delete, add",
         test_decr_delay_delete_add,
         test_setup, teardown, NULL},
        {"decr, delay, delete, append",
         test_decr_delay_delete_append,
         test_setup, teardown, NULL},
        {"decr, delay, delete, decr",
         test_decr_delay_delete_decr,
         test_setup, teardown, NULL},
        {"decr, delay, delete, decrWithDefault",
         test_decr_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, delete, delay",
         test_decr_delay_delete_delay,
         test_setup, teardown, NULL},
        {"decr, delay, delete, delete",
         test_decr_delay_delete_delete,
         test_setup, teardown, NULL},
        {"decr, delay, delete, flush",
         test_decr_delay_delete_flush,
         test_setup, teardown, NULL},
        {"decr, delay, delete, incr",
         test_decr_delay_delete_incr,
         test_setup, teardown, NULL},
        {"decr, delay, delete, incrWithDefault",
         test_decr_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, delete, prepend",
         test_decr_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, delete, set",
         test_decr_delay_delete_set,
         test_setup, teardown, NULL},
        {"decr, delay, flush, add",
         test_decr_delay_flush_add,
         test_setup, teardown, NULL},
        {"decr, delay, flush, append",
         test_decr_delay_flush_append,
         test_setup, teardown, NULL},
        {"decr, delay, flush, decr",
         test_decr_delay_flush_decr,
         test_setup, teardown, NULL},
        {"decr, delay, flush, decrWithDefault",
         test_decr_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, flush, delay",
         test_decr_delay_flush_delay,
         test_setup, teardown, NULL},
        {"decr, delay, flush, delete",
         test_decr_delay_flush_delete,
         test_setup, teardown, NULL},
        {"decr, delay, flush, flush",
         test_decr_delay_flush_flush,
         test_setup, teardown, NULL},
        {"decr, delay, flush, incr",
         test_decr_delay_flush_incr,
         test_setup, teardown, NULL},
        {"decr, delay, flush, incrWithDefault",
         test_decr_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, flush, prepend",
         test_decr_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, flush, set",
         test_decr_delay_flush_set,
         test_setup, teardown, NULL},
        {"decr, delay, incr, add",
         test_decr_delay_incr_add,
         test_setup, teardown, NULL},
        {"decr, delay, incr, append",
         test_decr_delay_incr_append,
         test_setup, teardown, NULL},
        {"decr, delay, incr, decr",
         test_decr_delay_incr_decr,
         test_setup, teardown, NULL},
        {"decr, delay, incr, decrWithDefault",
         test_decr_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, incr, delay",
         test_decr_delay_incr_delay,
         test_setup, teardown, NULL},
        {"decr, delay, incr, delete",
         test_decr_delay_incr_delete,
         test_setup, teardown, NULL},
        {"decr, delay, incr, flush",
         test_decr_delay_incr_flush,
         test_setup, teardown, NULL},
        {"decr, delay, incr, incr",
         test_decr_delay_incr_incr,
         test_setup, teardown, NULL},
        {"decr, delay, incr, incrWithDefault",
         test_decr_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, incr, prepend",
         test_decr_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, incr, set",
         test_decr_delay_incr_set,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, add",
         test_decr_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, append",
         test_decr_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, decr",
         test_decr_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, decrWithDefault",
         test_decr_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, delay",
         test_decr_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, delete",
         test_decr_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, flush",
         test_decr_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, incr",
         test_decr_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, incrWithDefault",
         test_decr_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, prepend",
         test_decr_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, incrWithDefault, set",
         test_decr_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, add",
         test_decr_delay_prepend_add,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, append",
         test_decr_delay_prepend_append,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, decr",
         test_decr_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, decrWithDefault",
         test_decr_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, delay",
         test_decr_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, delete",
         test_decr_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, flush",
         test_decr_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, incr",
         test_decr_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, incrWithDefault",
         test_decr_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, prepend",
         test_decr_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, prepend, set",
         test_decr_delay_prepend_set,
         test_setup, teardown, NULL},
        {"decr, delay, set, add",
         test_decr_delay_set_add,
         test_setup, teardown, NULL},
        {"decr, delay, set, append",
         test_decr_delay_set_append,
         test_setup, teardown, NULL},
        {"decr, delay, set, decr",
         test_decr_delay_set_decr,
         test_setup, teardown, NULL},
        {"decr, delay, set, decrWithDefault",
         test_decr_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, set, delay",
         test_decr_delay_set_delay,
         test_setup, teardown, NULL},
        {"decr, delay, set, delete",
         test_decr_delay_set_delete,
         test_setup, teardown, NULL},
        {"decr, delay, set, flush",
         test_decr_delay_set_flush,
         test_setup, teardown, NULL},
        {"decr, delay, set, incr",
         test_decr_delay_set_incr,
         test_setup, teardown, NULL},
        {"decr, delay, set, incrWithDefault",
         test_decr_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delay, set, prepend",
         test_decr_delay_set_prepend,
         test_setup, teardown, NULL},
        {"decr, delay, set, set",
         test_decr_delay_set_set,
         test_setup, teardown, NULL},
        {"decr, delete, add, add",
         test_decr_delete_add_add,
         test_setup, teardown, NULL},
        {"decr, delete, add, append",
         test_decr_delete_add_append,
         test_setup, teardown, NULL},
        {"decr, delete, add, decr",
         test_decr_delete_add_decr,
         test_setup, teardown, NULL},
        {"decr, delete, add, decrWithDefault",
         test_decr_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, add, delay",
         test_decr_delete_add_delay,
         test_setup, teardown, NULL},
        {"decr, delete, add, delete",
         test_decr_delete_add_delete,
         test_setup, teardown, NULL},
        {"decr, delete, add, flush",
         test_decr_delete_add_flush,
         test_setup, teardown, NULL},
        {"decr, delete, add, incr",
         test_decr_delete_add_incr,
         test_setup, teardown, NULL},
        {"decr, delete, add, incrWithDefault",
         test_decr_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, add, prepend",
         test_decr_delete_add_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, add, set",
         test_decr_delete_add_set,
         test_setup, teardown, NULL},
        {"decr, delete, append, add",
         test_decr_delete_append_add,
         test_setup, teardown, NULL},
        {"decr, delete, append, append",
         test_decr_delete_append_append,
         test_setup, teardown, NULL},
        {"decr, delete, append, decr",
         test_decr_delete_append_decr,
         test_setup, teardown, NULL},
        {"decr, delete, append, decrWithDefault",
         test_decr_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, append, delay",
         test_decr_delete_append_delay,
         test_setup, teardown, NULL},
        {"decr, delete, append, delete",
         test_decr_delete_append_delete,
         test_setup, teardown, NULL},
        {"decr, delete, append, flush",
         test_decr_delete_append_flush,
         test_setup, teardown, NULL},
        {"decr, delete, append, incr",
         test_decr_delete_append_incr,
         test_setup, teardown, NULL},
        {"decr, delete, append, incrWithDefault",
         test_decr_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, append, prepend",
         test_decr_delete_append_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, append, set",
         test_decr_delete_append_set,
         test_setup, teardown, NULL},
        {"decr, delete, decr, add",
         test_decr_delete_decr_add,
         test_setup, teardown, NULL},
        {"decr, delete, decr, append",
         test_decr_delete_decr_append,
         test_setup, teardown, NULL},
        {"decr, delete, decr, decr",
         test_decr_delete_decr_decr,
         test_setup, teardown, NULL},
        {"decr, delete, decr, decrWithDefault",
         test_decr_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, decr, delay",
         test_decr_delete_decr_delay,
         test_setup, teardown, NULL},
        {"decr, delete, decr, delete",
         test_decr_delete_decr_delete,
         test_setup, teardown, NULL},
        {"decr, delete, decr, flush",
         test_decr_delete_decr_flush,
         test_setup, teardown, NULL},
        {"decr, delete, decr, incr",
         test_decr_delete_decr_incr,
         test_setup, teardown, NULL},
        {"decr, delete, decr, incrWithDefault",
         test_decr_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, decr, prepend",
         test_decr_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, decr, set",
         test_decr_delete_decr_set,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, add",
         test_decr_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, append",
         test_decr_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, decr",
         test_decr_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, decrWithDefault",
         test_decr_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, delay",
         test_decr_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, delete",
         test_decr_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, flush",
         test_decr_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, incr",
         test_decr_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, incrWithDefault",
         test_decr_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, prepend",
         test_decr_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, decrWithDefault, set",
         test_decr_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, delete, delay, add",
         test_decr_delete_delay_add,
         test_setup, teardown, NULL},
        {"decr, delete, delay, append",
         test_decr_delete_delay_append,
         test_setup, teardown, NULL},
        {"decr, delete, delay, decr",
         test_decr_delete_delay_decr,
         test_setup, teardown, NULL},
        {"decr, delete, delay, decrWithDefault",
         test_decr_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, delay, delay",
         test_decr_delete_delay_delay,
         test_setup, teardown, NULL},
        {"decr, delete, delay, delete",
         test_decr_delete_delay_delete,
         test_setup, teardown, NULL},
        {"decr, delete, delay, flush",
         test_decr_delete_delay_flush,
         test_setup, teardown, NULL},
        {"decr, delete, delay, incr",
         test_decr_delete_delay_incr,
         test_setup, teardown, NULL},
        {"decr, delete, delay, incrWithDefault",
         test_decr_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, delay, prepend",
         test_decr_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, delay, set",
         test_decr_delete_delay_set,
         test_setup, teardown, NULL},
        {"decr, delete, delete, add",
         test_decr_delete_delete_add,
         test_setup, teardown, NULL},
        {"decr, delete, delete, append",
         test_decr_delete_delete_append,
         test_setup, teardown, NULL},
        {"decr, delete, delete, decr",
         test_decr_delete_delete_decr,
         test_setup, teardown, NULL},
        {"decr, delete, delete, decrWithDefault",
         test_decr_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, delete, delay",
         test_decr_delete_delete_delay,
         test_setup, teardown, NULL},
        {"decr, delete, delete, delete",
         test_decr_delete_delete_delete,
         test_setup, teardown, NULL},
        {"decr, delete, delete, flush",
         test_decr_delete_delete_flush,
         test_setup, teardown, NULL},
        {"decr, delete, delete, incr",
         test_decr_delete_delete_incr,
         test_setup, teardown, NULL},
        {"decr, delete, delete, incrWithDefault",
         test_decr_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, delete, prepend",
         test_decr_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, delete, set",
         test_decr_delete_delete_set,
         test_setup, teardown, NULL},
        {"decr, delete, flush, add",
         test_decr_delete_flush_add,
         test_setup, teardown, NULL},
        {"decr, delete, flush, append",
         test_decr_delete_flush_append,
         test_setup, teardown, NULL},
        {"decr, delete, flush, decr",
         test_decr_delete_flush_decr,
         test_setup, teardown, NULL},
        {"decr, delete, flush, decrWithDefault",
         test_decr_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, flush, delay",
         test_decr_delete_flush_delay,
         test_setup, teardown, NULL},
        {"decr, delete, flush, delete",
         test_decr_delete_flush_delete,
         test_setup, teardown, NULL},
        {"decr, delete, flush, flush",
         test_decr_delete_flush_flush,
         test_setup, teardown, NULL},
        {"decr, delete, flush, incr",
         test_decr_delete_flush_incr,
         test_setup, teardown, NULL},
        {"decr, delete, flush, incrWithDefault",
         test_decr_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, flush, prepend",
         test_decr_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, flush, set",
         test_decr_delete_flush_set,
         test_setup, teardown, NULL},
        {"decr, delete, incr, add",
         test_decr_delete_incr_add,
         test_setup, teardown, NULL},
        {"decr, delete, incr, append",
         test_decr_delete_incr_append,
         test_setup, teardown, NULL},
        {"decr, delete, incr, decr",
         test_decr_delete_incr_decr,
         test_setup, teardown, NULL},
        {"decr, delete, incr, decrWithDefault",
         test_decr_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, incr, delay",
         test_decr_delete_incr_delay,
         test_setup, teardown, NULL},
        {"decr, delete, incr, delete",
         test_decr_delete_incr_delete,
         test_setup, teardown, NULL},
        {"decr, delete, incr, flush",
         test_decr_delete_incr_flush,
         test_setup, teardown, NULL},
        {"decr, delete, incr, incr",
         test_decr_delete_incr_incr,
         test_setup, teardown, NULL},
        {"decr, delete, incr, incrWithDefault",
         test_decr_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, incr, prepend",
         test_decr_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, incr, set",
         test_decr_delete_incr_set,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, add",
         test_decr_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, append",
         test_decr_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, decr",
         test_decr_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, decrWithDefault",
         test_decr_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, delay",
         test_decr_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, delete",
         test_decr_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, flush",
         test_decr_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, incr",
         test_decr_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, incrWithDefault",
         test_decr_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, prepend",
         test_decr_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, incrWithDefault, set",
         test_decr_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, add",
         test_decr_delete_prepend_add,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, append",
         test_decr_delete_prepend_append,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, decr",
         test_decr_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, decrWithDefault",
         test_decr_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, delay",
         test_decr_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, delete",
         test_decr_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, flush",
         test_decr_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, incr",
         test_decr_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, incrWithDefault",
         test_decr_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, prepend",
         test_decr_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, prepend, set",
         test_decr_delete_prepend_set,
         test_setup, teardown, NULL},
        {"decr, delete, set, add",
         test_decr_delete_set_add,
         test_setup, teardown, NULL},
        {"decr, delete, set, append",
         test_decr_delete_set_append,
         test_setup, teardown, NULL},
        {"decr, delete, set, decr",
         test_decr_delete_set_decr,
         test_setup, teardown, NULL},
        {"decr, delete, set, decrWithDefault",
         test_decr_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, set, delay",
         test_decr_delete_set_delay,
         test_setup, teardown, NULL},
        {"decr, delete, set, delete",
         test_decr_delete_set_delete,
         test_setup, teardown, NULL},
        {"decr, delete, set, flush",
         test_decr_delete_set_flush,
         test_setup, teardown, NULL},
        {"decr, delete, set, incr",
         test_decr_delete_set_incr,
         test_setup, teardown, NULL},
        {"decr, delete, set, incrWithDefault",
         test_decr_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, delete, set, prepend",
         test_decr_delete_set_prepend,
         test_setup, teardown, NULL},
        {"decr, delete, set, set",
         test_decr_delete_set_set,
         test_setup, teardown, NULL},
        {"decr, flush, add, add",
         test_decr_flush_add_add,
         test_setup, teardown, NULL},
        {"decr, flush, add, append",
         test_decr_flush_add_append,
         test_setup, teardown, NULL},
        {"decr, flush, add, decr",
         test_decr_flush_add_decr,
         test_setup, teardown, NULL},
        {"decr, flush, add, decrWithDefault",
         test_decr_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, add, delay",
         test_decr_flush_add_delay,
         test_setup, teardown, NULL},
        {"decr, flush, add, delete",
         test_decr_flush_add_delete,
         test_setup, teardown, NULL},
        {"decr, flush, add, flush",
         test_decr_flush_add_flush,
         test_setup, teardown, NULL},
        {"decr, flush, add, incr",
         test_decr_flush_add_incr,
         test_setup, teardown, NULL},
        {"decr, flush, add, incrWithDefault",
         test_decr_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, add, prepend",
         test_decr_flush_add_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, add, set",
         test_decr_flush_add_set,
         test_setup, teardown, NULL},
        {"decr, flush, append, add",
         test_decr_flush_append_add,
         test_setup, teardown, NULL},
        {"decr, flush, append, append",
         test_decr_flush_append_append,
         test_setup, teardown, NULL},
        {"decr, flush, append, decr",
         test_decr_flush_append_decr,
         test_setup, teardown, NULL},
        {"decr, flush, append, decrWithDefault",
         test_decr_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, append, delay",
         test_decr_flush_append_delay,
         test_setup, teardown, NULL},
        {"decr, flush, append, delete",
         test_decr_flush_append_delete,
         test_setup, teardown, NULL},
        {"decr, flush, append, flush",
         test_decr_flush_append_flush,
         test_setup, teardown, NULL},
        {"decr, flush, append, incr",
         test_decr_flush_append_incr,
         test_setup, teardown, NULL},
        {"decr, flush, append, incrWithDefault",
         test_decr_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, append, prepend",
         test_decr_flush_append_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, append, set",
         test_decr_flush_append_set,
         test_setup, teardown, NULL},
        {"decr, flush, decr, add",
         test_decr_flush_decr_add,
         test_setup, teardown, NULL},
        {"decr, flush, decr, append",
         test_decr_flush_decr_append,
         test_setup, teardown, NULL},
        {"decr, flush, decr, decr",
         test_decr_flush_decr_decr,
         test_setup, teardown, NULL},
        {"decr, flush, decr, decrWithDefault",
         test_decr_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, decr, delay",
         test_decr_flush_decr_delay,
         test_setup, teardown, NULL},
        {"decr, flush, decr, delete",
         test_decr_flush_decr_delete,
         test_setup, teardown, NULL},
        {"decr, flush, decr, flush",
         test_decr_flush_decr_flush,
         test_setup, teardown, NULL},
        {"decr, flush, decr, incr",
         test_decr_flush_decr_incr,
         test_setup, teardown, NULL},
        {"decr, flush, decr, incrWithDefault",
         test_decr_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, decr, prepend",
         test_decr_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, decr, set",
         test_decr_flush_decr_set,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, add",
         test_decr_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, append",
         test_decr_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, decr",
         test_decr_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, decrWithDefault",
         test_decr_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, delay",
         test_decr_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, delete",
         test_decr_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, flush",
         test_decr_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, incr",
         test_decr_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, incrWithDefault",
         test_decr_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, prepend",
         test_decr_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, decrWithDefault, set",
         test_decr_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, flush, delay, add",
         test_decr_flush_delay_add,
         test_setup, teardown, NULL},
        {"decr, flush, delay, append",
         test_decr_flush_delay_append,
         test_setup, teardown, NULL},
        {"decr, flush, delay, decr",
         test_decr_flush_delay_decr,
         test_setup, teardown, NULL},
        {"decr, flush, delay, decrWithDefault",
         test_decr_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, delay, delay",
         test_decr_flush_delay_delay,
         test_setup, teardown, NULL},
        {"decr, flush, delay, delete",
         test_decr_flush_delay_delete,
         test_setup, teardown, NULL},
        {"decr, flush, delay, flush",
         test_decr_flush_delay_flush,
         test_setup, teardown, NULL},
        {"decr, flush, delay, incr",
         test_decr_flush_delay_incr,
         test_setup, teardown, NULL},
        {"decr, flush, delay, incrWithDefault",
         test_decr_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, delay, prepend",
         test_decr_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, delay, set",
         test_decr_flush_delay_set,
         test_setup, teardown, NULL},
        {"decr, flush, delete, add",
         test_decr_flush_delete_add,
         test_setup, teardown, NULL},
        {"decr, flush, delete, append",
         test_decr_flush_delete_append,
         test_setup, teardown, NULL},
        {"decr, flush, delete, decr",
         test_decr_flush_delete_decr,
         test_setup, teardown, NULL},
        {"decr, flush, delete, decrWithDefault",
         test_decr_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, delete, delay",
         test_decr_flush_delete_delay,
         test_setup, teardown, NULL},
        {"decr, flush, delete, delete",
         test_decr_flush_delete_delete,
         test_setup, teardown, NULL},
        {"decr, flush, delete, flush",
         test_decr_flush_delete_flush,
         test_setup, teardown, NULL},
        {"decr, flush, delete, incr",
         test_decr_flush_delete_incr,
         test_setup, teardown, NULL},
        {"decr, flush, delete, incrWithDefault",
         test_decr_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, delete, prepend",
         test_decr_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, delete, set",
         test_decr_flush_delete_set,
         test_setup, teardown, NULL},
        {"decr, flush, flush, add",
         test_decr_flush_flush_add,
         test_setup, teardown, NULL},
        {"decr, flush, flush, append",
         test_decr_flush_flush_append,
         test_setup, teardown, NULL},
        {"decr, flush, flush, decr",
         test_decr_flush_flush_decr,
         test_setup, teardown, NULL},
        {"decr, flush, flush, decrWithDefault",
         test_decr_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, flush, delay",
         test_decr_flush_flush_delay,
         test_setup, teardown, NULL},
        {"decr, flush, flush, delete",
         test_decr_flush_flush_delete,
         test_setup, teardown, NULL},
        {"decr, flush, flush, flush",
         test_decr_flush_flush_flush,
         test_setup, teardown, NULL},
        {"decr, flush, flush, incr",
         test_decr_flush_flush_incr,
         test_setup, teardown, NULL},
        {"decr, flush, flush, incrWithDefault",
         test_decr_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, flush, prepend",
         test_decr_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, flush, set",
         test_decr_flush_flush_set,
         test_setup, teardown, NULL},
        {"decr, flush, incr, add",
         test_decr_flush_incr_add,
         test_setup, teardown, NULL},
        {"decr, flush, incr, append",
         test_decr_flush_incr_append,
         test_setup, teardown, NULL},
        {"decr, flush, incr, decr",
         test_decr_flush_incr_decr,
         test_setup, teardown, NULL},
        {"decr, flush, incr, decrWithDefault",
         test_decr_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, incr, delay",
         test_decr_flush_incr_delay,
         test_setup, teardown, NULL},
        {"decr, flush, incr, delete",
         test_decr_flush_incr_delete,
         test_setup, teardown, NULL},
        {"decr, flush, incr, flush",
         test_decr_flush_incr_flush,
         test_setup, teardown, NULL},
        {"decr, flush, incr, incr",
         test_decr_flush_incr_incr,
         test_setup, teardown, NULL},
        {"decr, flush, incr, incrWithDefault",
         test_decr_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, incr, prepend",
         test_decr_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, incr, set",
         test_decr_flush_incr_set,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, add",
         test_decr_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, append",
         test_decr_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, decr",
         test_decr_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, decrWithDefault",
         test_decr_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, delay",
         test_decr_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, delete",
         test_decr_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, flush",
         test_decr_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, incr",
         test_decr_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, incrWithDefault",
         test_decr_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, prepend",
         test_decr_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, incrWithDefault, set",
         test_decr_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, add",
         test_decr_flush_prepend_add,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, append",
         test_decr_flush_prepend_append,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, decr",
         test_decr_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, decrWithDefault",
         test_decr_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, delay",
         test_decr_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, delete",
         test_decr_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, flush",
         test_decr_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, incr",
         test_decr_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, incrWithDefault",
         test_decr_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, prepend",
         test_decr_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, prepend, set",
         test_decr_flush_prepend_set,
         test_setup, teardown, NULL},
        {"decr, flush, set, add",
         test_decr_flush_set_add,
         test_setup, teardown, NULL},
        {"decr, flush, set, append",
         test_decr_flush_set_append,
         test_setup, teardown, NULL},
        {"decr, flush, set, decr",
         test_decr_flush_set_decr,
         test_setup, teardown, NULL},
        {"decr, flush, set, decrWithDefault",
         test_decr_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, set, delay",
         test_decr_flush_set_delay,
         test_setup, teardown, NULL},
        {"decr, flush, set, delete",
         test_decr_flush_set_delete,
         test_setup, teardown, NULL},
        {"decr, flush, set, flush",
         test_decr_flush_set_flush,
         test_setup, teardown, NULL},
        {"decr, flush, set, incr",
         test_decr_flush_set_incr,
         test_setup, teardown, NULL},
        {"decr, flush, set, incrWithDefault",
         test_decr_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, flush, set, prepend",
         test_decr_flush_set_prepend,
         test_setup, teardown, NULL},
        {"decr, flush, set, set",
         test_decr_flush_set_set,
         test_setup, teardown, NULL},
        {"decr, incr, add, add",
         test_decr_incr_add_add,
         test_setup, teardown, NULL},
        {"decr, incr, add, append",
         test_decr_incr_add_append,
         test_setup, teardown, NULL},
        {"decr, incr, add, decr",
         test_decr_incr_add_decr,
         test_setup, teardown, NULL},
        {"decr, incr, add, decrWithDefault",
         test_decr_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, add, delay",
         test_decr_incr_add_delay,
         test_setup, teardown, NULL},
        {"decr, incr, add, delete",
         test_decr_incr_add_delete,
         test_setup, teardown, NULL},
        {"decr, incr, add, flush",
         test_decr_incr_add_flush,
         test_setup, teardown, NULL},
        {"decr, incr, add, incr",
         test_decr_incr_add_incr,
         test_setup, teardown, NULL},
        {"decr, incr, add, incrWithDefault",
         test_decr_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, add, prepend",
         test_decr_incr_add_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, add, set",
         test_decr_incr_add_set,
         test_setup, teardown, NULL},
        {"decr, incr, append, add",
         test_decr_incr_append_add,
         test_setup, teardown, NULL},
        {"decr, incr, append, append",
         test_decr_incr_append_append,
         test_setup, teardown, NULL},
        {"decr, incr, append, decr",
         test_decr_incr_append_decr,
         test_setup, teardown, NULL},
        {"decr, incr, append, decrWithDefault",
         test_decr_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, append, delay",
         test_decr_incr_append_delay,
         test_setup, teardown, NULL},
        {"decr, incr, append, delete",
         test_decr_incr_append_delete,
         test_setup, teardown, NULL},
        {"decr, incr, append, flush",
         test_decr_incr_append_flush,
         test_setup, teardown, NULL},
        {"decr, incr, append, incr",
         test_decr_incr_append_incr,
         test_setup, teardown, NULL},
        {"decr, incr, append, incrWithDefault",
         test_decr_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, append, prepend",
         test_decr_incr_append_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, append, set",
         test_decr_incr_append_set,
         test_setup, teardown, NULL},
        {"decr, incr, decr, add",
         test_decr_incr_decr_add,
         test_setup, teardown, NULL},
        {"decr, incr, decr, append",
         test_decr_incr_decr_append,
         test_setup, teardown, NULL},
        {"decr, incr, decr, decr",
         test_decr_incr_decr_decr,
         test_setup, teardown, NULL},
        {"decr, incr, decr, decrWithDefault",
         test_decr_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, decr, delay",
         test_decr_incr_decr_delay,
         test_setup, teardown, NULL},
        {"decr, incr, decr, delete",
         test_decr_incr_decr_delete,
         test_setup, teardown, NULL},
        {"decr, incr, decr, flush",
         test_decr_incr_decr_flush,
         test_setup, teardown, NULL},
        {"decr, incr, decr, incr",
         test_decr_incr_decr_incr,
         test_setup, teardown, NULL},
        {"decr, incr, decr, incrWithDefault",
         test_decr_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, decr, prepend",
         test_decr_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, decr, set",
         test_decr_incr_decr_set,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, add",
         test_decr_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, append",
         test_decr_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, decr",
         test_decr_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, decrWithDefault",
         test_decr_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, delay",
         test_decr_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, delete",
         test_decr_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, flush",
         test_decr_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, incr",
         test_decr_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, incrWithDefault",
         test_decr_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, prepend",
         test_decr_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, decrWithDefault, set",
         test_decr_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, incr, delay, add",
         test_decr_incr_delay_add,
         test_setup, teardown, NULL},
        {"decr, incr, delay, append",
         test_decr_incr_delay_append,
         test_setup, teardown, NULL},
        {"decr, incr, delay, decr",
         test_decr_incr_delay_decr,
         test_setup, teardown, NULL},
        {"decr, incr, delay, decrWithDefault",
         test_decr_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, delay, delay",
         test_decr_incr_delay_delay,
         test_setup, teardown, NULL},
        {"decr, incr, delay, delete",
         test_decr_incr_delay_delete,
         test_setup, teardown, NULL},
        {"decr, incr, delay, flush",
         test_decr_incr_delay_flush,
         test_setup, teardown, NULL},
        {"decr, incr, delay, incr",
         test_decr_incr_delay_incr,
         test_setup, teardown, NULL},
        {"decr, incr, delay, incrWithDefault",
         test_decr_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, delay, prepend",
         test_decr_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, delay, set",
         test_decr_incr_delay_set,
         test_setup, teardown, NULL},
        {"decr, incr, delete, add",
         test_decr_incr_delete_add,
         test_setup, teardown, NULL},
        {"decr, incr, delete, append",
         test_decr_incr_delete_append,
         test_setup, teardown, NULL},
        {"decr, incr, delete, decr",
         test_decr_incr_delete_decr,
         test_setup, teardown, NULL},
        {"decr, incr, delete, decrWithDefault",
         test_decr_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, delete, delay",
         test_decr_incr_delete_delay,
         test_setup, teardown, NULL},
        {"decr, incr, delete, delete",
         test_decr_incr_delete_delete,
         test_setup, teardown, NULL},
        {"decr, incr, delete, flush",
         test_decr_incr_delete_flush,
         test_setup, teardown, NULL},
        {"decr, incr, delete, incr",
         test_decr_incr_delete_incr,
         test_setup, teardown, NULL},
        {"decr, incr, delete, incrWithDefault",
         test_decr_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, delete, prepend",
         test_decr_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, delete, set",
         test_decr_incr_delete_set,
         test_setup, teardown, NULL},
        {"decr, incr, flush, add",
         test_decr_incr_flush_add,
         test_setup, teardown, NULL},
        {"decr, incr, flush, append",
         test_decr_incr_flush_append,
         test_setup, teardown, NULL},
        {"decr, incr, flush, decr",
         test_decr_incr_flush_decr,
         test_setup, teardown, NULL},
        {"decr, incr, flush, decrWithDefault",
         test_decr_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, flush, delay",
         test_decr_incr_flush_delay,
         test_setup, teardown, NULL},
        {"decr, incr, flush, delete",
         test_decr_incr_flush_delete,
         test_setup, teardown, NULL},
        {"decr, incr, flush, flush",
         test_decr_incr_flush_flush,
         test_setup, teardown, NULL},
        {"decr, incr, flush, incr",
         test_decr_incr_flush_incr,
         test_setup, teardown, NULL},
        {"decr, incr, flush, incrWithDefault",
         test_decr_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, flush, prepend",
         test_decr_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, flush, set",
         test_decr_incr_flush_set,
         test_setup, teardown, NULL},
        {"decr, incr, incr, add",
         test_decr_incr_incr_add,
         test_setup, teardown, NULL},
        {"decr, incr, incr, append",
         test_decr_incr_incr_append,
         test_setup, teardown, NULL},
        {"decr, incr, incr, decr",
         test_decr_incr_incr_decr,
         test_setup, teardown, NULL},
        {"decr, incr, incr, decrWithDefault",
         test_decr_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, incr, delay",
         test_decr_incr_incr_delay,
         test_setup, teardown, NULL},
        {"decr, incr, incr, delete",
         test_decr_incr_incr_delete,
         test_setup, teardown, NULL},
        {"decr, incr, incr, flush",
         test_decr_incr_incr_flush,
         test_setup, teardown, NULL},
        {"decr, incr, incr, incr",
         test_decr_incr_incr_incr,
         test_setup, teardown, NULL},
        {"decr, incr, incr, incrWithDefault",
         test_decr_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, incr, prepend",
         test_decr_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, incr, set",
         test_decr_incr_incr_set,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, add",
         test_decr_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, append",
         test_decr_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, decr",
         test_decr_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, decrWithDefault",
         test_decr_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, delay",
         test_decr_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, delete",
         test_decr_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, flush",
         test_decr_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, incr",
         test_decr_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, incrWithDefault",
         test_decr_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, prepend",
         test_decr_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, incrWithDefault, set",
         test_decr_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, add",
         test_decr_incr_prepend_add,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, append",
         test_decr_incr_prepend_append,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, decr",
         test_decr_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, decrWithDefault",
         test_decr_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, delay",
         test_decr_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, delete",
         test_decr_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, flush",
         test_decr_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, incr",
         test_decr_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, incrWithDefault",
         test_decr_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, prepend",
         test_decr_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, prepend, set",
         test_decr_incr_prepend_set,
         test_setup, teardown, NULL},
        {"decr, incr, set, add",
         test_decr_incr_set_add,
         test_setup, teardown, NULL},
        {"decr, incr, set, append",
         test_decr_incr_set_append,
         test_setup, teardown, NULL},
        {"decr, incr, set, decr",
         test_decr_incr_set_decr,
         test_setup, teardown, NULL},
        {"decr, incr, set, decrWithDefault",
         test_decr_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, set, delay",
         test_decr_incr_set_delay,
         test_setup, teardown, NULL},
        {"decr, incr, set, delete",
         test_decr_incr_set_delete,
         test_setup, teardown, NULL},
        {"decr, incr, set, flush",
         test_decr_incr_set_flush,
         test_setup, teardown, NULL},
        {"decr, incr, set, incr",
         test_decr_incr_set_incr,
         test_setup, teardown, NULL},
        {"decr, incr, set, incrWithDefault",
         test_decr_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incr, set, prepend",
         test_decr_incr_set_prepend,
         test_setup, teardown, NULL},
        {"decr, incr, set, set",
         test_decr_incr_set_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, add",
         test_decr_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, append",
         test_decr_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, decr",
         test_decr_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, decrWithDefault",
         test_decr_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, delay",
         test_decr_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, delete",
         test_decr_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, flush",
         test_decr_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, incr",
         test_decr_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, incrWithDefault",
         test_decr_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, prepend",
         test_decr_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, add, set",
         test_decr_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, add",
         test_decr_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, append",
         test_decr_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, decr",
         test_decr_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, decrWithDefault",
         test_decr_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, delay",
         test_decr_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, delete",
         test_decr_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, flush",
         test_decr_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, incr",
         test_decr_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, incrWithDefault",
         test_decr_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, prepend",
         test_decr_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, append, set",
         test_decr_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, add",
         test_decr_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, append",
         test_decr_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, decr",
         test_decr_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, decrWithDefault",
         test_decr_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, delay",
         test_decr_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, delete",
         test_decr_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, flush",
         test_decr_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, incr",
         test_decr_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, incrWithDefault",
         test_decr_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, prepend",
         test_decr_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decr, set",
         test_decr_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, add",
         test_decr_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, append",
         test_decr_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, decr",
         test_decr_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, decrWithDefault",
         test_decr_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, delay",
         test_decr_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, delete",
         test_decr_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, flush",
         test_decr_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, incr",
         test_decr_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, incrWithDefault",
         test_decr_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, prepend",
         test_decr_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, decrWithDefault, set",
         test_decr_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, add",
         test_decr_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, append",
         test_decr_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, decr",
         test_decr_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, decrWithDefault",
         test_decr_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, delay",
         test_decr_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, delete",
         test_decr_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, flush",
         test_decr_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, incr",
         test_decr_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, incrWithDefault",
         test_decr_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, prepend",
         test_decr_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delay, set",
         test_decr_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, add",
         test_decr_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, append",
         test_decr_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, decr",
         test_decr_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, decrWithDefault",
         test_decr_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, delay",
         test_decr_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, delete",
         test_decr_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, flush",
         test_decr_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, incr",
         test_decr_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, incrWithDefault",
         test_decr_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, prepend",
         test_decr_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, delete, set",
         test_decr_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, add",
         test_decr_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, append",
         test_decr_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, decr",
         test_decr_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, decrWithDefault",
         test_decr_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, delay",
         test_decr_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, delete",
         test_decr_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, flush",
         test_decr_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, incr",
         test_decr_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, incrWithDefault",
         test_decr_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, prepend",
         test_decr_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, flush, set",
         test_decr_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, add",
         test_decr_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, append",
         test_decr_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, decr",
         test_decr_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, decrWithDefault",
         test_decr_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, delay",
         test_decr_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, delete",
         test_decr_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, flush",
         test_decr_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, incr",
         test_decr_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, incrWithDefault",
         test_decr_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, prepend",
         test_decr_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incr, set",
         test_decr_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, add",
         test_decr_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, append",
         test_decr_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, decr",
         test_decr_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, decrWithDefault",
         test_decr_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, delay",
         test_decr_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, delete",
         test_decr_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, flush",
         test_decr_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, incr",
         test_decr_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, incrWithDefault",
         test_decr_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, prepend",
         test_decr_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, incrWithDefault, set",
         test_decr_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, add",
         test_decr_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, append",
         test_decr_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, decr",
         test_decr_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, decrWithDefault",
         test_decr_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, delay",
         test_decr_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, delete",
         test_decr_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, flush",
         test_decr_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, incr",
         test_decr_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, incrWithDefault",
         test_decr_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, prepend",
         test_decr_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, prepend, set",
         test_decr_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, add",
         test_decr_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, append",
         test_decr_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, decr",
         test_decr_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, decrWithDefault",
         test_decr_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, delay",
         test_decr_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, delete",
         test_decr_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, flush",
         test_decr_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, incr",
         test_decr_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, incrWithDefault",
         test_decr_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, prepend",
         test_decr_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"decr, incrWithDefault, set, set",
         test_decr_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"decr, prepend, add, add",
         test_decr_prepend_add_add,
         test_setup, teardown, NULL},
        {"decr, prepend, add, append",
         test_decr_prepend_add_append,
         test_setup, teardown, NULL},
        {"decr, prepend, add, decr",
         test_decr_prepend_add_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, add, decrWithDefault",
         test_decr_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, add, delay",
         test_decr_prepend_add_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, add, delete",
         test_decr_prepend_add_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, add, flush",
         test_decr_prepend_add_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, add, incr",
         test_decr_prepend_add_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, add, incrWithDefault",
         test_decr_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, add, prepend",
         test_decr_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, add, set",
         test_decr_prepend_add_set,
         test_setup, teardown, NULL},
        {"decr, prepend, append, add",
         test_decr_prepend_append_add,
         test_setup, teardown, NULL},
        {"decr, prepend, append, append",
         test_decr_prepend_append_append,
         test_setup, teardown, NULL},
        {"decr, prepend, append, decr",
         test_decr_prepend_append_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, append, decrWithDefault",
         test_decr_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, append, delay",
         test_decr_prepend_append_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, append, delete",
         test_decr_prepend_append_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, append, flush",
         test_decr_prepend_append_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, append, incr",
         test_decr_prepend_append_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, append, incrWithDefault",
         test_decr_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, append, prepend",
         test_decr_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, append, set",
         test_decr_prepend_append_set,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, add",
         test_decr_prepend_decr_add,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, append",
         test_decr_prepend_decr_append,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, decr",
         test_decr_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, decrWithDefault",
         test_decr_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, delay",
         test_decr_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, delete",
         test_decr_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, flush",
         test_decr_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, incr",
         test_decr_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, incrWithDefault",
         test_decr_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, prepend",
         test_decr_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, decr, set",
         test_decr_prepend_decr_set,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, add",
         test_decr_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, append",
         test_decr_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, decr",
         test_decr_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, decrWithDefault",
         test_decr_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, delay",
         test_decr_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, delete",
         test_decr_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, flush",
         test_decr_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, incr",
         test_decr_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, incrWithDefault",
         test_decr_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, prepend",
         test_decr_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, decrWithDefault, set",
         test_decr_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, add",
         test_decr_prepend_delay_add,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, append",
         test_decr_prepend_delay_append,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, decr",
         test_decr_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, decrWithDefault",
         test_decr_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, delay",
         test_decr_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, delete",
         test_decr_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, flush",
         test_decr_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, incr",
         test_decr_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, incrWithDefault",
         test_decr_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, prepend",
         test_decr_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, delay, set",
         test_decr_prepend_delay_set,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, add",
         test_decr_prepend_delete_add,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, append",
         test_decr_prepend_delete_append,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, decr",
         test_decr_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, decrWithDefault",
         test_decr_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, delay",
         test_decr_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, delete",
         test_decr_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, flush",
         test_decr_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, incr",
         test_decr_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, incrWithDefault",
         test_decr_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, prepend",
         test_decr_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, delete, set",
         test_decr_prepend_delete_set,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, add",
         test_decr_prepend_flush_add,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, append",
         test_decr_prepend_flush_append,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, decr",
         test_decr_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, decrWithDefault",
         test_decr_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, delay",
         test_decr_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, delete",
         test_decr_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, flush",
         test_decr_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, incr",
         test_decr_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, incrWithDefault",
         test_decr_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, prepend",
         test_decr_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, flush, set",
         test_decr_prepend_flush_set,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, add",
         test_decr_prepend_incr_add,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, append",
         test_decr_prepend_incr_append,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, decr",
         test_decr_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, decrWithDefault",
         test_decr_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, delay",
         test_decr_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, delete",
         test_decr_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, flush",
         test_decr_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, incr",
         test_decr_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, incrWithDefault",
         test_decr_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, prepend",
         test_decr_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, incr, set",
         test_decr_prepend_incr_set,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, add",
         test_decr_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, append",
         test_decr_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, decr",
         test_decr_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, decrWithDefault",
         test_decr_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, delay",
         test_decr_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, delete",
         test_decr_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, flush",
         test_decr_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, incr",
         test_decr_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, incrWithDefault",
         test_decr_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, prepend",
         test_decr_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, incrWithDefault, set",
         test_decr_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, add",
         test_decr_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, append",
         test_decr_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, decr",
         test_decr_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, decrWithDefault",
         test_decr_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, delay",
         test_decr_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, delete",
         test_decr_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, flush",
         test_decr_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, incr",
         test_decr_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, incrWithDefault",
         test_decr_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, prepend",
         test_decr_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, prepend, set",
         test_decr_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"decr, prepend, set, add",
         test_decr_prepend_set_add,
         test_setup, teardown, NULL},
        {"decr, prepend, set, append",
         test_decr_prepend_set_append,
         test_setup, teardown, NULL},
        {"decr, prepend, set, decr",
         test_decr_prepend_set_decr,
         test_setup, teardown, NULL},
        {"decr, prepend, set, decrWithDefault",
         test_decr_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, set, delay",
         test_decr_prepend_set_delay,
         test_setup, teardown, NULL},
        {"decr, prepend, set, delete",
         test_decr_prepend_set_delete,
         test_setup, teardown, NULL},
        {"decr, prepend, set, flush",
         test_decr_prepend_set_flush,
         test_setup, teardown, NULL},
        {"decr, prepend, set, incr",
         test_decr_prepend_set_incr,
         test_setup, teardown, NULL},
        {"decr, prepend, set, incrWithDefault",
         test_decr_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, prepend, set, prepend",
         test_decr_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"decr, prepend, set, set",
         test_decr_prepend_set_set,
         test_setup, teardown, NULL},
        {"decr, set, add, add",
         test_decr_set_add_add,
         test_setup, teardown, NULL},
        {"decr, set, add, append",
         test_decr_set_add_append,
         test_setup, teardown, NULL},
        {"decr, set, add, decr",
         test_decr_set_add_decr,
         test_setup, teardown, NULL},
        {"decr, set, add, decrWithDefault",
         test_decr_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, add, delay",
         test_decr_set_add_delay,
         test_setup, teardown, NULL},
        {"decr, set, add, delete",
         test_decr_set_add_delete,
         test_setup, teardown, NULL},
        {"decr, set, add, flush",
         test_decr_set_add_flush,
         test_setup, teardown, NULL},
        {"decr, set, add, incr",
         test_decr_set_add_incr,
         test_setup, teardown, NULL},
        {"decr, set, add, incrWithDefault",
         test_decr_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, add, prepend",
         test_decr_set_add_prepend,
         test_setup, teardown, NULL},
        {"decr, set, add, set",
         test_decr_set_add_set,
         test_setup, teardown, NULL},
        {"decr, set, append, add",
         test_decr_set_append_add,
         test_setup, teardown, NULL},
        {"decr, set, append, append",
         test_decr_set_append_append,
         test_setup, teardown, NULL},
        {"decr, set, append, decr",
         test_decr_set_append_decr,
         test_setup, teardown, NULL},
        {"decr, set, append, decrWithDefault",
         test_decr_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, append, delay",
         test_decr_set_append_delay,
         test_setup, teardown, NULL},
        {"decr, set, append, delete",
         test_decr_set_append_delete,
         test_setup, teardown, NULL},
        {"decr, set, append, flush",
         test_decr_set_append_flush,
         test_setup, teardown, NULL},
        {"decr, set, append, incr",
         test_decr_set_append_incr,
         test_setup, teardown, NULL},
        {"decr, set, append, incrWithDefault",
         test_decr_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, append, prepend",
         test_decr_set_append_prepend,
         test_setup, teardown, NULL},
        {"decr, set, append, set",
         test_decr_set_append_set,
         test_setup, teardown, NULL},
        {"decr, set, decr, add",
         test_decr_set_decr_add,
         test_setup, teardown, NULL},
        {"decr, set, decr, append",
         test_decr_set_decr_append,
         test_setup, teardown, NULL},
        {"decr, set, decr, decr",
         test_decr_set_decr_decr,
         test_setup, teardown, NULL},
        {"decr, set, decr, decrWithDefault",
         test_decr_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, decr, delay",
         test_decr_set_decr_delay,
         test_setup, teardown, NULL},
        {"decr, set, decr, delete",
         test_decr_set_decr_delete,
         test_setup, teardown, NULL},
        {"decr, set, decr, flush",
         test_decr_set_decr_flush,
         test_setup, teardown, NULL},
        {"decr, set, decr, incr",
         test_decr_set_decr_incr,
         test_setup, teardown, NULL},
        {"decr, set, decr, incrWithDefault",
         test_decr_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, decr, prepend",
         test_decr_set_decr_prepend,
         test_setup, teardown, NULL},
        {"decr, set, decr, set",
         test_decr_set_decr_set,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, add",
         test_decr_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, append",
         test_decr_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, decr",
         test_decr_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, decrWithDefault",
         test_decr_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, delay",
         test_decr_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, delete",
         test_decr_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, flush",
         test_decr_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, incr",
         test_decr_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, incrWithDefault",
         test_decr_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, prepend",
         test_decr_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, set, decrWithDefault, set",
         test_decr_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, set, delay, add",
         test_decr_set_delay_add,
         test_setup, teardown, NULL},
        {"decr, set, delay, append",
         test_decr_set_delay_append,
         test_setup, teardown, NULL},
        {"decr, set, delay, decr",
         test_decr_set_delay_decr,
         test_setup, teardown, NULL},
        {"decr, set, delay, decrWithDefault",
         test_decr_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, delay, delay",
         test_decr_set_delay_delay,
         test_setup, teardown, NULL},
        {"decr, set, delay, delete",
         test_decr_set_delay_delete,
         test_setup, teardown, NULL},
        {"decr, set, delay, flush",
         test_decr_set_delay_flush,
         test_setup, teardown, NULL},
        {"decr, set, delay, incr",
         test_decr_set_delay_incr,
         test_setup, teardown, NULL},
        {"decr, set, delay, incrWithDefault",
         test_decr_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, delay, prepend",
         test_decr_set_delay_prepend,
         test_setup, teardown, NULL},
        {"decr, set, delay, set",
         test_decr_set_delay_set,
         test_setup, teardown, NULL},
        {"decr, set, delete, add",
         test_decr_set_delete_add,
         test_setup, teardown, NULL},
        {"decr, set, delete, append",
         test_decr_set_delete_append,
         test_setup, teardown, NULL},
        {"decr, set, delete, decr",
         test_decr_set_delete_decr,
         test_setup, teardown, NULL},
        {"decr, set, delete, decrWithDefault",
         test_decr_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, delete, delay",
         test_decr_set_delete_delay,
         test_setup, teardown, NULL},
        {"decr, set, delete, delete",
         test_decr_set_delete_delete,
         test_setup, teardown, NULL},
        {"decr, set, delete, flush",
         test_decr_set_delete_flush,
         test_setup, teardown, NULL},
        {"decr, set, delete, incr",
         test_decr_set_delete_incr,
         test_setup, teardown, NULL},
        {"decr, set, delete, incrWithDefault",
         test_decr_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, delete, prepend",
         test_decr_set_delete_prepend,
         test_setup, teardown, NULL},
        {"decr, set, delete, set",
         test_decr_set_delete_set,
         test_setup, teardown, NULL},
        {"decr, set, flush, add",
         test_decr_set_flush_add,
         test_setup, teardown, NULL},
        {"decr, set, flush, append",
         test_decr_set_flush_append,
         test_setup, teardown, NULL},
        {"decr, set, flush, decr",
         test_decr_set_flush_decr,
         test_setup, teardown, NULL},
        {"decr, set, flush, decrWithDefault",
         test_decr_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, flush, delay",
         test_decr_set_flush_delay,
         test_setup, teardown, NULL},
        {"decr, set, flush, delete",
         test_decr_set_flush_delete,
         test_setup, teardown, NULL},
        {"decr, set, flush, flush",
         test_decr_set_flush_flush,
         test_setup, teardown, NULL},
        {"decr, set, flush, incr",
         test_decr_set_flush_incr,
         test_setup, teardown, NULL},
        {"decr, set, flush, incrWithDefault",
         test_decr_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, flush, prepend",
         test_decr_set_flush_prepend,
         test_setup, teardown, NULL},
        {"decr, set, flush, set",
         test_decr_set_flush_set,
         test_setup, teardown, NULL},
        {"decr, set, incr, add",
         test_decr_set_incr_add,
         test_setup, teardown, NULL},
        {"decr, set, incr, append",
         test_decr_set_incr_append,
         test_setup, teardown, NULL},
        {"decr, set, incr, decr",
         test_decr_set_incr_decr,
         test_setup, teardown, NULL},
        {"decr, set, incr, decrWithDefault",
         test_decr_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, incr, delay",
         test_decr_set_incr_delay,
         test_setup, teardown, NULL},
        {"decr, set, incr, delete",
         test_decr_set_incr_delete,
         test_setup, teardown, NULL},
        {"decr, set, incr, flush",
         test_decr_set_incr_flush,
         test_setup, teardown, NULL},
        {"decr, set, incr, incr",
         test_decr_set_incr_incr,
         test_setup, teardown, NULL},
        {"decr, set, incr, incrWithDefault",
         test_decr_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, incr, prepend",
         test_decr_set_incr_prepend,
         test_setup, teardown, NULL},
        {"decr, set, incr, set",
         test_decr_set_incr_set,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, add",
         test_decr_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, append",
         test_decr_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, decr",
         test_decr_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, decrWithDefault",
         test_decr_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, delay",
         test_decr_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, delete",
         test_decr_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, flush",
         test_decr_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, incr",
         test_decr_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, incrWithDefault",
         test_decr_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, prepend",
         test_decr_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decr, set, incrWithDefault, set",
         test_decr_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decr, set, prepend, add",
         test_decr_set_prepend_add,
         test_setup, teardown, NULL},
        {"decr, set, prepend, append",
         test_decr_set_prepend_append,
         test_setup, teardown, NULL},
        {"decr, set, prepend, decr",
         test_decr_set_prepend_decr,
         test_setup, teardown, NULL},
        {"decr, set, prepend, decrWithDefault",
         test_decr_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, prepend, delay",
         test_decr_set_prepend_delay,
         test_setup, teardown, NULL},
        {"decr, set, prepend, delete",
         test_decr_set_prepend_delete,
         test_setup, teardown, NULL},
        {"decr, set, prepend, flush",
         test_decr_set_prepend_flush,
         test_setup, teardown, NULL},
        {"decr, set, prepend, incr",
         test_decr_set_prepend_incr,
         test_setup, teardown, NULL},
        {"decr, set, prepend, incrWithDefault",
         test_decr_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, prepend, prepend",
         test_decr_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"decr, set, prepend, set",
         test_decr_set_prepend_set,
         test_setup, teardown, NULL},
        {"decr, set, set, add",
         test_decr_set_set_add,
         test_setup, teardown, NULL},
        {"decr, set, set, append",
         test_decr_set_set_append,
         test_setup, teardown, NULL},
        {"decr, set, set, decr",
         test_decr_set_set_decr,
         test_setup, teardown, NULL},
        {"decr, set, set, decrWithDefault",
         test_decr_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, set, delay",
         test_decr_set_set_delay,
         test_setup, teardown, NULL},
        {"decr, set, set, delete",
         test_decr_set_set_delete,
         test_setup, teardown, NULL},
        {"decr, set, set, flush",
         test_decr_set_set_flush,
         test_setup, teardown, NULL},
        {"decr, set, set, incr",
         test_decr_set_set_incr,
         test_setup, teardown, NULL},
        {"decr, set, set, incrWithDefault",
         test_decr_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decr, set, set, prepend",
         test_decr_set_set_prepend,
         test_setup, teardown, NULL},
        {"decr, set, set, set",
         test_decr_set_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, add",
         test_decrWithDefault_add_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, append",
         test_decrWithDefault_add_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, decr",
         test_decrWithDefault_add_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, decrWithDefault",
         test_decrWithDefault_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, delay",
         test_decrWithDefault_add_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, delete",
         test_decrWithDefault_add_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, flush",
         test_decrWithDefault_add_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, incr",
         test_decrWithDefault_add_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, incrWithDefault",
         test_decrWithDefault_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, prepend",
         test_decrWithDefault_add_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, add, set",
         test_decrWithDefault_add_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, add",
         test_decrWithDefault_add_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, append",
         test_decrWithDefault_add_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, decr",
         test_decrWithDefault_add_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, decrWithDefault",
         test_decrWithDefault_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, delay",
         test_decrWithDefault_add_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, delete",
         test_decrWithDefault_add_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, flush",
         test_decrWithDefault_add_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, incr",
         test_decrWithDefault_add_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, incrWithDefault",
         test_decrWithDefault_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, prepend",
         test_decrWithDefault_add_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, append, set",
         test_decrWithDefault_add_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, add",
         test_decrWithDefault_add_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, append",
         test_decrWithDefault_add_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, decr",
         test_decrWithDefault_add_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, decrWithDefault",
         test_decrWithDefault_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, delay",
         test_decrWithDefault_add_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, delete",
         test_decrWithDefault_add_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, flush",
         test_decrWithDefault_add_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, incr",
         test_decrWithDefault_add_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, incrWithDefault",
         test_decrWithDefault_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, prepend",
         test_decrWithDefault_add_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decr, set",
         test_decrWithDefault_add_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, add",
         test_decrWithDefault_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, append",
         test_decrWithDefault_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, decr",
         test_decrWithDefault_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, decrWithDefault",
         test_decrWithDefault_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, delay",
         test_decrWithDefault_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, delete",
         test_decrWithDefault_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, flush",
         test_decrWithDefault_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, incr",
         test_decrWithDefault_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, incrWithDefault",
         test_decrWithDefault_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, prepend",
         test_decrWithDefault_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, decrWithDefault, set",
         test_decrWithDefault_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, add",
         test_decrWithDefault_add_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, append",
         test_decrWithDefault_add_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, decr",
         test_decrWithDefault_add_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, decrWithDefault",
         test_decrWithDefault_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, delay",
         test_decrWithDefault_add_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, delete",
         test_decrWithDefault_add_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, flush",
         test_decrWithDefault_add_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, incr",
         test_decrWithDefault_add_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, incrWithDefault",
         test_decrWithDefault_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, prepend",
         test_decrWithDefault_add_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delay, set",
         test_decrWithDefault_add_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, add",
         test_decrWithDefault_add_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, append",
         test_decrWithDefault_add_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, decr",
         test_decrWithDefault_add_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, decrWithDefault",
         test_decrWithDefault_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, delay",
         test_decrWithDefault_add_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, delete",
         test_decrWithDefault_add_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, flush",
         test_decrWithDefault_add_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, incr",
         test_decrWithDefault_add_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, incrWithDefault",
         test_decrWithDefault_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, prepend",
         test_decrWithDefault_add_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, delete, set",
         test_decrWithDefault_add_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, add",
         test_decrWithDefault_add_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, append",
         test_decrWithDefault_add_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, decr",
         test_decrWithDefault_add_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, decrWithDefault",
         test_decrWithDefault_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, delay",
         test_decrWithDefault_add_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, delete",
         test_decrWithDefault_add_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, flush",
         test_decrWithDefault_add_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, incr",
         test_decrWithDefault_add_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, incrWithDefault",
         test_decrWithDefault_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, prepend",
         test_decrWithDefault_add_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, flush, set",
         test_decrWithDefault_add_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, add",
         test_decrWithDefault_add_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, append",
         test_decrWithDefault_add_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, decr",
         test_decrWithDefault_add_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, decrWithDefault",
         test_decrWithDefault_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, delay",
         test_decrWithDefault_add_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, delete",
         test_decrWithDefault_add_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, flush",
         test_decrWithDefault_add_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, incr",
         test_decrWithDefault_add_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, incrWithDefault",
         test_decrWithDefault_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, prepend",
         test_decrWithDefault_add_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incr, set",
         test_decrWithDefault_add_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, add",
         test_decrWithDefault_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, append",
         test_decrWithDefault_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, decr",
         test_decrWithDefault_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, decrWithDefault",
         test_decrWithDefault_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, delay",
         test_decrWithDefault_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, delete",
         test_decrWithDefault_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, flush",
         test_decrWithDefault_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, incr",
         test_decrWithDefault_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, incrWithDefault",
         test_decrWithDefault_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, prepend",
         test_decrWithDefault_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, incrWithDefault, set",
         test_decrWithDefault_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, add",
         test_decrWithDefault_add_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, append",
         test_decrWithDefault_add_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, decr",
         test_decrWithDefault_add_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, decrWithDefault",
         test_decrWithDefault_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, delay",
         test_decrWithDefault_add_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, delete",
         test_decrWithDefault_add_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, flush",
         test_decrWithDefault_add_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, incr",
         test_decrWithDefault_add_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, incrWithDefault",
         test_decrWithDefault_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, prepend",
         test_decrWithDefault_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, prepend, set",
         test_decrWithDefault_add_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, add",
         test_decrWithDefault_add_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, append",
         test_decrWithDefault_add_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, decr",
         test_decrWithDefault_add_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, decrWithDefault",
         test_decrWithDefault_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, delay",
         test_decrWithDefault_add_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, delete",
         test_decrWithDefault_add_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, flush",
         test_decrWithDefault_add_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, incr",
         test_decrWithDefault_add_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, incrWithDefault",
         test_decrWithDefault_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, prepend",
         test_decrWithDefault_add_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, add, set, set",
         test_decrWithDefault_add_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, add",
         test_decrWithDefault_append_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, append",
         test_decrWithDefault_append_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, decr",
         test_decrWithDefault_append_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, decrWithDefault",
         test_decrWithDefault_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, delay",
         test_decrWithDefault_append_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, delete",
         test_decrWithDefault_append_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, flush",
         test_decrWithDefault_append_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, incr",
         test_decrWithDefault_append_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, incrWithDefault",
         test_decrWithDefault_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, prepend",
         test_decrWithDefault_append_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, add, set",
         test_decrWithDefault_append_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, add",
         test_decrWithDefault_append_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, append",
         test_decrWithDefault_append_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, decr",
         test_decrWithDefault_append_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, decrWithDefault",
         test_decrWithDefault_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, delay",
         test_decrWithDefault_append_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, delete",
         test_decrWithDefault_append_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, flush",
         test_decrWithDefault_append_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, incr",
         test_decrWithDefault_append_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, incrWithDefault",
         test_decrWithDefault_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, prepend",
         test_decrWithDefault_append_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, append, set",
         test_decrWithDefault_append_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, add",
         test_decrWithDefault_append_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, append",
         test_decrWithDefault_append_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, decr",
         test_decrWithDefault_append_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, decrWithDefault",
         test_decrWithDefault_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, delay",
         test_decrWithDefault_append_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, delete",
         test_decrWithDefault_append_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, flush",
         test_decrWithDefault_append_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, incr",
         test_decrWithDefault_append_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, incrWithDefault",
         test_decrWithDefault_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, prepend",
         test_decrWithDefault_append_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decr, set",
         test_decrWithDefault_append_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, add",
         test_decrWithDefault_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, append",
         test_decrWithDefault_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, decr",
         test_decrWithDefault_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, decrWithDefault",
         test_decrWithDefault_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, delay",
         test_decrWithDefault_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, delete",
         test_decrWithDefault_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, flush",
         test_decrWithDefault_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, incr",
         test_decrWithDefault_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, incrWithDefault",
         test_decrWithDefault_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, prepend",
         test_decrWithDefault_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, decrWithDefault, set",
         test_decrWithDefault_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, add",
         test_decrWithDefault_append_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, append",
         test_decrWithDefault_append_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, decr",
         test_decrWithDefault_append_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, decrWithDefault",
         test_decrWithDefault_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, delay",
         test_decrWithDefault_append_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, delete",
         test_decrWithDefault_append_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, flush",
         test_decrWithDefault_append_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, incr",
         test_decrWithDefault_append_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, incrWithDefault",
         test_decrWithDefault_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, prepend",
         test_decrWithDefault_append_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delay, set",
         test_decrWithDefault_append_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, add",
         test_decrWithDefault_append_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, append",
         test_decrWithDefault_append_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, decr",
         test_decrWithDefault_append_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, decrWithDefault",
         test_decrWithDefault_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, delay",
         test_decrWithDefault_append_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, delete",
         test_decrWithDefault_append_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, flush",
         test_decrWithDefault_append_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, incr",
         test_decrWithDefault_append_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, incrWithDefault",
         test_decrWithDefault_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, prepend",
         test_decrWithDefault_append_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, delete, set",
         test_decrWithDefault_append_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, add",
         test_decrWithDefault_append_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, append",
         test_decrWithDefault_append_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, decr",
         test_decrWithDefault_append_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, decrWithDefault",
         test_decrWithDefault_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, delay",
         test_decrWithDefault_append_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, delete",
         test_decrWithDefault_append_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, flush",
         test_decrWithDefault_append_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, incr",
         test_decrWithDefault_append_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, incrWithDefault",
         test_decrWithDefault_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, prepend",
         test_decrWithDefault_append_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, flush, set",
         test_decrWithDefault_append_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, add",
         test_decrWithDefault_append_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, append",
         test_decrWithDefault_append_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, decr",
         test_decrWithDefault_append_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, decrWithDefault",
         test_decrWithDefault_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, delay",
         test_decrWithDefault_append_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, delete",
         test_decrWithDefault_append_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, flush",
         test_decrWithDefault_append_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, incr",
         test_decrWithDefault_append_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, incrWithDefault",
         test_decrWithDefault_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, prepend",
         test_decrWithDefault_append_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incr, set",
         test_decrWithDefault_append_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, add",
         test_decrWithDefault_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, append",
         test_decrWithDefault_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, decr",
         test_decrWithDefault_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, decrWithDefault",
         test_decrWithDefault_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, delay",
         test_decrWithDefault_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, delete",
         test_decrWithDefault_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, flush",
         test_decrWithDefault_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, incr",
         test_decrWithDefault_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, incrWithDefault",
         test_decrWithDefault_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, prepend",
         test_decrWithDefault_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, incrWithDefault, set",
         test_decrWithDefault_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, add",
         test_decrWithDefault_append_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, append",
         test_decrWithDefault_append_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, decr",
         test_decrWithDefault_append_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, decrWithDefault",
         test_decrWithDefault_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, delay",
         test_decrWithDefault_append_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, delete",
         test_decrWithDefault_append_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, flush",
         test_decrWithDefault_append_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, incr",
         test_decrWithDefault_append_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, incrWithDefault",
         test_decrWithDefault_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, prepend",
         test_decrWithDefault_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, prepend, set",
         test_decrWithDefault_append_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, add",
         test_decrWithDefault_append_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, append",
         test_decrWithDefault_append_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, decr",
         test_decrWithDefault_append_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, decrWithDefault",
         test_decrWithDefault_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, delay",
         test_decrWithDefault_append_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, delete",
         test_decrWithDefault_append_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, flush",
         test_decrWithDefault_append_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, incr",
         test_decrWithDefault_append_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, incrWithDefault",
         test_decrWithDefault_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, prepend",
         test_decrWithDefault_append_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, append, set, set",
         test_decrWithDefault_append_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, add",
         test_decrWithDefault_decr_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, append",
         test_decrWithDefault_decr_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, decr",
         test_decrWithDefault_decr_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, decrWithDefault",
         test_decrWithDefault_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, delay",
         test_decrWithDefault_decr_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, delete",
         test_decrWithDefault_decr_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, flush",
         test_decrWithDefault_decr_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, incr",
         test_decrWithDefault_decr_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, incrWithDefault",
         test_decrWithDefault_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, prepend",
         test_decrWithDefault_decr_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, add, set",
         test_decrWithDefault_decr_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, add",
         test_decrWithDefault_decr_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, append",
         test_decrWithDefault_decr_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, decr",
         test_decrWithDefault_decr_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, decrWithDefault",
         test_decrWithDefault_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, delay",
         test_decrWithDefault_decr_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, delete",
         test_decrWithDefault_decr_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, flush",
         test_decrWithDefault_decr_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, incr",
         test_decrWithDefault_decr_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, incrWithDefault",
         test_decrWithDefault_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, prepend",
         test_decrWithDefault_decr_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, append, set",
         test_decrWithDefault_decr_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, add",
         test_decrWithDefault_decr_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, append",
         test_decrWithDefault_decr_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, decr",
         test_decrWithDefault_decr_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, decrWithDefault",
         test_decrWithDefault_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, delay",
         test_decrWithDefault_decr_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, delete",
         test_decrWithDefault_decr_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, flush",
         test_decrWithDefault_decr_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, incr",
         test_decrWithDefault_decr_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, incrWithDefault",
         test_decrWithDefault_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, prepend",
         test_decrWithDefault_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decr, set",
         test_decrWithDefault_decr_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, add",
         test_decrWithDefault_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, append",
         test_decrWithDefault_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, decr",
         test_decrWithDefault_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, decrWithDefault",
         test_decrWithDefault_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, delay",
         test_decrWithDefault_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, delete",
         test_decrWithDefault_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, flush",
         test_decrWithDefault_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, incr",
         test_decrWithDefault_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, incrWithDefault",
         test_decrWithDefault_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, prepend",
         test_decrWithDefault_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, decrWithDefault, set",
         test_decrWithDefault_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, add",
         test_decrWithDefault_decr_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, append",
         test_decrWithDefault_decr_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, decr",
         test_decrWithDefault_decr_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, decrWithDefault",
         test_decrWithDefault_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, delay",
         test_decrWithDefault_decr_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, delete",
         test_decrWithDefault_decr_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, flush",
         test_decrWithDefault_decr_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, incr",
         test_decrWithDefault_decr_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, incrWithDefault",
         test_decrWithDefault_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, prepend",
         test_decrWithDefault_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delay, set",
         test_decrWithDefault_decr_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, add",
         test_decrWithDefault_decr_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, append",
         test_decrWithDefault_decr_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, decr",
         test_decrWithDefault_decr_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, decrWithDefault",
         test_decrWithDefault_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, delay",
         test_decrWithDefault_decr_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, delete",
         test_decrWithDefault_decr_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, flush",
         test_decrWithDefault_decr_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, incr",
         test_decrWithDefault_decr_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, incrWithDefault",
         test_decrWithDefault_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, prepend",
         test_decrWithDefault_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, delete, set",
         test_decrWithDefault_decr_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, add",
         test_decrWithDefault_decr_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, append",
         test_decrWithDefault_decr_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, decr",
         test_decrWithDefault_decr_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, decrWithDefault",
         test_decrWithDefault_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, delay",
         test_decrWithDefault_decr_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, delete",
         test_decrWithDefault_decr_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, flush",
         test_decrWithDefault_decr_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, incr",
         test_decrWithDefault_decr_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, incrWithDefault",
         test_decrWithDefault_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, prepend",
         test_decrWithDefault_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, flush, set",
         test_decrWithDefault_decr_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, add",
         test_decrWithDefault_decr_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, append",
         test_decrWithDefault_decr_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, decr",
         test_decrWithDefault_decr_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, decrWithDefault",
         test_decrWithDefault_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, delay",
         test_decrWithDefault_decr_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, delete",
         test_decrWithDefault_decr_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, flush",
         test_decrWithDefault_decr_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, incr",
         test_decrWithDefault_decr_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, incrWithDefault",
         test_decrWithDefault_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, prepend",
         test_decrWithDefault_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incr, set",
         test_decrWithDefault_decr_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, add",
         test_decrWithDefault_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, append",
         test_decrWithDefault_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, decr",
         test_decrWithDefault_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, decrWithDefault",
         test_decrWithDefault_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, delay",
         test_decrWithDefault_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, delete",
         test_decrWithDefault_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, flush",
         test_decrWithDefault_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, incr",
         test_decrWithDefault_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, incrWithDefault",
         test_decrWithDefault_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, prepend",
         test_decrWithDefault_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, incrWithDefault, set",
         test_decrWithDefault_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, add",
         test_decrWithDefault_decr_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, append",
         test_decrWithDefault_decr_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, decr",
         test_decrWithDefault_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, decrWithDefault",
         test_decrWithDefault_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, delay",
         test_decrWithDefault_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, delete",
         test_decrWithDefault_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, flush",
         test_decrWithDefault_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, incr",
         test_decrWithDefault_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, incrWithDefault",
         test_decrWithDefault_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, prepend",
         test_decrWithDefault_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, prepend, set",
         test_decrWithDefault_decr_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, add",
         test_decrWithDefault_decr_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, append",
         test_decrWithDefault_decr_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, decr",
         test_decrWithDefault_decr_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, decrWithDefault",
         test_decrWithDefault_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, delay",
         test_decrWithDefault_decr_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, delete",
         test_decrWithDefault_decr_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, flush",
         test_decrWithDefault_decr_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, incr",
         test_decrWithDefault_decr_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, incrWithDefault",
         test_decrWithDefault_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, prepend",
         test_decrWithDefault_decr_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decr, set, set",
         test_decrWithDefault_decr_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, add",
         test_decrWithDefault_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, append",
         test_decrWithDefault_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, decr",
         test_decrWithDefault_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, decrWithDefault",
         test_decrWithDefault_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, delay",
         test_decrWithDefault_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, delete",
         test_decrWithDefault_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, flush",
         test_decrWithDefault_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, incr",
         test_decrWithDefault_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, incrWithDefault",
         test_decrWithDefault_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, prepend",
         test_decrWithDefault_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, add, set",
         test_decrWithDefault_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, add",
         test_decrWithDefault_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, append",
         test_decrWithDefault_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, decr",
         test_decrWithDefault_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, decrWithDefault",
         test_decrWithDefault_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, delay",
         test_decrWithDefault_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, delete",
         test_decrWithDefault_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, flush",
         test_decrWithDefault_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, incr",
         test_decrWithDefault_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, incrWithDefault",
         test_decrWithDefault_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, prepend",
         test_decrWithDefault_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, append, set",
         test_decrWithDefault_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, add",
         test_decrWithDefault_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, append",
         test_decrWithDefault_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, decr",
         test_decrWithDefault_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, decrWithDefault",
         test_decrWithDefault_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, delay",
         test_decrWithDefault_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, delete",
         test_decrWithDefault_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, flush",
         test_decrWithDefault_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, incr",
         test_decrWithDefault_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, incrWithDefault",
         test_decrWithDefault_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, prepend",
         test_decrWithDefault_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decr, set",
         test_decrWithDefault_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, add",
         test_decrWithDefault_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, append",
         test_decrWithDefault_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, decr",
         test_decrWithDefault_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, delay",
         test_decrWithDefault_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, delete",
         test_decrWithDefault_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, flush",
         test_decrWithDefault_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, incr",
         test_decrWithDefault_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, incrWithDefault",
         test_decrWithDefault_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, prepend",
         test_decrWithDefault_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, decrWithDefault, set",
         test_decrWithDefault_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, add",
         test_decrWithDefault_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, append",
         test_decrWithDefault_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, decr",
         test_decrWithDefault_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, decrWithDefault",
         test_decrWithDefault_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, delay",
         test_decrWithDefault_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, delete",
         test_decrWithDefault_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, flush",
         test_decrWithDefault_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, incr",
         test_decrWithDefault_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, incrWithDefault",
         test_decrWithDefault_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, prepend",
         test_decrWithDefault_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delay, set",
         test_decrWithDefault_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, add",
         test_decrWithDefault_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, append",
         test_decrWithDefault_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, decr",
         test_decrWithDefault_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, decrWithDefault",
         test_decrWithDefault_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, delay",
         test_decrWithDefault_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, delete",
         test_decrWithDefault_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, flush",
         test_decrWithDefault_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, incr",
         test_decrWithDefault_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, incrWithDefault",
         test_decrWithDefault_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, prepend",
         test_decrWithDefault_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, delete, set",
         test_decrWithDefault_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, add",
         test_decrWithDefault_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, append",
         test_decrWithDefault_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, decr",
         test_decrWithDefault_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, decrWithDefault",
         test_decrWithDefault_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, delay",
         test_decrWithDefault_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, delete",
         test_decrWithDefault_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, flush",
         test_decrWithDefault_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, incr",
         test_decrWithDefault_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, incrWithDefault",
         test_decrWithDefault_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, prepend",
         test_decrWithDefault_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, flush, set",
         test_decrWithDefault_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, add",
         test_decrWithDefault_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, append",
         test_decrWithDefault_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, decr",
         test_decrWithDefault_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, decrWithDefault",
         test_decrWithDefault_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, delay",
         test_decrWithDefault_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, delete",
         test_decrWithDefault_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, flush",
         test_decrWithDefault_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, incr",
         test_decrWithDefault_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, incrWithDefault",
         test_decrWithDefault_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, prepend",
         test_decrWithDefault_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incr, set",
         test_decrWithDefault_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, add",
         test_decrWithDefault_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, append",
         test_decrWithDefault_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, decr",
         test_decrWithDefault_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, decrWithDefault",
         test_decrWithDefault_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, delay",
         test_decrWithDefault_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, delete",
         test_decrWithDefault_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, flush",
         test_decrWithDefault_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, incr",
         test_decrWithDefault_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, incrWithDefault",
         test_decrWithDefault_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, prepend",
         test_decrWithDefault_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, incrWithDefault, set",
         test_decrWithDefault_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, add",
         test_decrWithDefault_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, append",
         test_decrWithDefault_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, decr",
         test_decrWithDefault_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, decrWithDefault",
         test_decrWithDefault_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, delay",
         test_decrWithDefault_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, delete",
         test_decrWithDefault_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, flush",
         test_decrWithDefault_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, incr",
         test_decrWithDefault_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, incrWithDefault",
         test_decrWithDefault_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, prepend",
         test_decrWithDefault_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, prepend, set",
         test_decrWithDefault_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, add",
         test_decrWithDefault_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, append",
         test_decrWithDefault_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, decr",
         test_decrWithDefault_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, decrWithDefault",
         test_decrWithDefault_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, delay",
         test_decrWithDefault_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, delete",
         test_decrWithDefault_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, flush",
         test_decrWithDefault_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, incr",
         test_decrWithDefault_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, incrWithDefault",
         test_decrWithDefault_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, prepend",
         test_decrWithDefault_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, decrWithDefault, set, set",
         test_decrWithDefault_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, add",
         test_decrWithDefault_delay_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, append",
         test_decrWithDefault_delay_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, decr",
         test_decrWithDefault_delay_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, decrWithDefault",
         test_decrWithDefault_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, delay",
         test_decrWithDefault_delay_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, delete",
         test_decrWithDefault_delay_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, flush",
         test_decrWithDefault_delay_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, incr",
         test_decrWithDefault_delay_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, incrWithDefault",
         test_decrWithDefault_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, prepend",
         test_decrWithDefault_delay_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, add, set",
         test_decrWithDefault_delay_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, add",
         test_decrWithDefault_delay_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, append",
         test_decrWithDefault_delay_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, decr",
         test_decrWithDefault_delay_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, decrWithDefault",
         test_decrWithDefault_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, delay",
         test_decrWithDefault_delay_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, delete",
         test_decrWithDefault_delay_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, flush",
         test_decrWithDefault_delay_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, incr",
         test_decrWithDefault_delay_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, incrWithDefault",
         test_decrWithDefault_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, prepend",
         test_decrWithDefault_delay_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, append, set",
         test_decrWithDefault_delay_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, add",
         test_decrWithDefault_delay_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, append",
         test_decrWithDefault_delay_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, decr",
         test_decrWithDefault_delay_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, decrWithDefault",
         test_decrWithDefault_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, delay",
         test_decrWithDefault_delay_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, delete",
         test_decrWithDefault_delay_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, flush",
         test_decrWithDefault_delay_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, incr",
         test_decrWithDefault_delay_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, incrWithDefault",
         test_decrWithDefault_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, prepend",
         test_decrWithDefault_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decr, set",
         test_decrWithDefault_delay_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, add",
         test_decrWithDefault_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, append",
         test_decrWithDefault_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, decr",
         test_decrWithDefault_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, decrWithDefault",
         test_decrWithDefault_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, delay",
         test_decrWithDefault_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, delete",
         test_decrWithDefault_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, flush",
         test_decrWithDefault_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, incr",
         test_decrWithDefault_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, incrWithDefault",
         test_decrWithDefault_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, prepend",
         test_decrWithDefault_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, decrWithDefault, set",
         test_decrWithDefault_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, add",
         test_decrWithDefault_delay_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, append",
         test_decrWithDefault_delay_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, decr",
         test_decrWithDefault_delay_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, decrWithDefault",
         test_decrWithDefault_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, delay",
         test_decrWithDefault_delay_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, delete",
         test_decrWithDefault_delay_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, flush",
         test_decrWithDefault_delay_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, incr",
         test_decrWithDefault_delay_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, incrWithDefault",
         test_decrWithDefault_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, prepend",
         test_decrWithDefault_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delay, set",
         test_decrWithDefault_delay_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, add",
         test_decrWithDefault_delay_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, append",
         test_decrWithDefault_delay_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, decr",
         test_decrWithDefault_delay_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, decrWithDefault",
         test_decrWithDefault_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, delay",
         test_decrWithDefault_delay_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, delete",
         test_decrWithDefault_delay_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, flush",
         test_decrWithDefault_delay_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, incr",
         test_decrWithDefault_delay_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, incrWithDefault",
         test_decrWithDefault_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, prepend",
         test_decrWithDefault_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, delete, set",
         test_decrWithDefault_delay_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, add",
         test_decrWithDefault_delay_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, append",
         test_decrWithDefault_delay_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, decr",
         test_decrWithDefault_delay_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, decrWithDefault",
         test_decrWithDefault_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, delay",
         test_decrWithDefault_delay_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, delete",
         test_decrWithDefault_delay_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, flush",
         test_decrWithDefault_delay_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, incr",
         test_decrWithDefault_delay_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, incrWithDefault",
         test_decrWithDefault_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, prepend",
         test_decrWithDefault_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, flush, set",
         test_decrWithDefault_delay_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, add",
         test_decrWithDefault_delay_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, append",
         test_decrWithDefault_delay_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, decr",
         test_decrWithDefault_delay_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, decrWithDefault",
         test_decrWithDefault_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, delay",
         test_decrWithDefault_delay_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, delete",
         test_decrWithDefault_delay_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, flush",
         test_decrWithDefault_delay_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, incr",
         test_decrWithDefault_delay_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, incrWithDefault",
         test_decrWithDefault_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, prepend",
         test_decrWithDefault_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incr, set",
         test_decrWithDefault_delay_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, add",
         test_decrWithDefault_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, append",
         test_decrWithDefault_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, decr",
         test_decrWithDefault_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, decrWithDefault",
         test_decrWithDefault_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, delay",
         test_decrWithDefault_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, delete",
         test_decrWithDefault_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, flush",
         test_decrWithDefault_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, incr",
         test_decrWithDefault_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, incrWithDefault",
         test_decrWithDefault_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, prepend",
         test_decrWithDefault_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, incrWithDefault, set",
         test_decrWithDefault_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, add",
         test_decrWithDefault_delay_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, append",
         test_decrWithDefault_delay_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, decr",
         test_decrWithDefault_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, decrWithDefault",
         test_decrWithDefault_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, delay",
         test_decrWithDefault_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, delete",
         test_decrWithDefault_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, flush",
         test_decrWithDefault_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, incr",
         test_decrWithDefault_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, incrWithDefault",
         test_decrWithDefault_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, prepend",
         test_decrWithDefault_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, prepend, set",
         test_decrWithDefault_delay_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, add",
         test_decrWithDefault_delay_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, append",
         test_decrWithDefault_delay_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, decr",
         test_decrWithDefault_delay_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, decrWithDefault",
         test_decrWithDefault_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, delay",
         test_decrWithDefault_delay_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, delete",
         test_decrWithDefault_delay_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, flush",
         test_decrWithDefault_delay_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, incr",
         test_decrWithDefault_delay_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, incrWithDefault",
         test_decrWithDefault_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, prepend",
         test_decrWithDefault_delay_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delay, set, set",
         test_decrWithDefault_delay_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, add",
         test_decrWithDefault_delete_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, append",
         test_decrWithDefault_delete_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, decr",
         test_decrWithDefault_delete_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, decrWithDefault",
         test_decrWithDefault_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, delay",
         test_decrWithDefault_delete_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, delete",
         test_decrWithDefault_delete_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, flush",
         test_decrWithDefault_delete_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, incr",
         test_decrWithDefault_delete_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, incrWithDefault",
         test_decrWithDefault_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, prepend",
         test_decrWithDefault_delete_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, add, set",
         test_decrWithDefault_delete_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, add",
         test_decrWithDefault_delete_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, append",
         test_decrWithDefault_delete_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, decr",
         test_decrWithDefault_delete_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, decrWithDefault",
         test_decrWithDefault_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, delay",
         test_decrWithDefault_delete_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, delete",
         test_decrWithDefault_delete_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, flush",
         test_decrWithDefault_delete_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, incr",
         test_decrWithDefault_delete_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, incrWithDefault",
         test_decrWithDefault_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, prepend",
         test_decrWithDefault_delete_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, append, set",
         test_decrWithDefault_delete_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, add",
         test_decrWithDefault_delete_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, append",
         test_decrWithDefault_delete_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, decr",
         test_decrWithDefault_delete_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, decrWithDefault",
         test_decrWithDefault_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, delay",
         test_decrWithDefault_delete_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, delete",
         test_decrWithDefault_delete_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, flush",
         test_decrWithDefault_delete_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, incr",
         test_decrWithDefault_delete_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, incrWithDefault",
         test_decrWithDefault_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, prepend",
         test_decrWithDefault_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decr, set",
         test_decrWithDefault_delete_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, add",
         test_decrWithDefault_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, append",
         test_decrWithDefault_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, decr",
         test_decrWithDefault_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, decrWithDefault",
         test_decrWithDefault_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, delay",
         test_decrWithDefault_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, delete",
         test_decrWithDefault_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, flush",
         test_decrWithDefault_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, incr",
         test_decrWithDefault_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, incrWithDefault",
         test_decrWithDefault_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, prepend",
         test_decrWithDefault_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, decrWithDefault, set",
         test_decrWithDefault_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, add",
         test_decrWithDefault_delete_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, append",
         test_decrWithDefault_delete_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, decr",
         test_decrWithDefault_delete_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, decrWithDefault",
         test_decrWithDefault_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, delay",
         test_decrWithDefault_delete_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, delete",
         test_decrWithDefault_delete_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, flush",
         test_decrWithDefault_delete_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, incr",
         test_decrWithDefault_delete_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, incrWithDefault",
         test_decrWithDefault_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, prepend",
         test_decrWithDefault_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delay, set",
         test_decrWithDefault_delete_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, add",
         test_decrWithDefault_delete_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, append",
         test_decrWithDefault_delete_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, decr",
         test_decrWithDefault_delete_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, decrWithDefault",
         test_decrWithDefault_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, delay",
         test_decrWithDefault_delete_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, delete",
         test_decrWithDefault_delete_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, flush",
         test_decrWithDefault_delete_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, incr",
         test_decrWithDefault_delete_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, incrWithDefault",
         test_decrWithDefault_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, prepend",
         test_decrWithDefault_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, delete, set",
         test_decrWithDefault_delete_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, add",
         test_decrWithDefault_delete_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, append",
         test_decrWithDefault_delete_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, decr",
         test_decrWithDefault_delete_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, decrWithDefault",
         test_decrWithDefault_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, delay",
         test_decrWithDefault_delete_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, delete",
         test_decrWithDefault_delete_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, flush",
         test_decrWithDefault_delete_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, incr",
         test_decrWithDefault_delete_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, incrWithDefault",
         test_decrWithDefault_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, prepend",
         test_decrWithDefault_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, flush, set",
         test_decrWithDefault_delete_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, add",
         test_decrWithDefault_delete_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, append",
         test_decrWithDefault_delete_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, decr",
         test_decrWithDefault_delete_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, decrWithDefault",
         test_decrWithDefault_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, delay",
         test_decrWithDefault_delete_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, delete",
         test_decrWithDefault_delete_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, flush",
         test_decrWithDefault_delete_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, incr",
         test_decrWithDefault_delete_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, incrWithDefault",
         test_decrWithDefault_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, prepend",
         test_decrWithDefault_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incr, set",
         test_decrWithDefault_delete_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, add",
         test_decrWithDefault_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, append",
         test_decrWithDefault_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, decr",
         test_decrWithDefault_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, decrWithDefault",
         test_decrWithDefault_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, delay",
         test_decrWithDefault_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, delete",
         test_decrWithDefault_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, flush",
         test_decrWithDefault_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, incr",
         test_decrWithDefault_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, incrWithDefault",
         test_decrWithDefault_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, prepend",
         test_decrWithDefault_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, incrWithDefault, set",
         test_decrWithDefault_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, add",
         test_decrWithDefault_delete_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, append",
         test_decrWithDefault_delete_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, decr",
         test_decrWithDefault_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, decrWithDefault",
         test_decrWithDefault_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, delay",
         test_decrWithDefault_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, delete",
         test_decrWithDefault_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, flush",
         test_decrWithDefault_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, incr",
         test_decrWithDefault_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, incrWithDefault",
         test_decrWithDefault_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, prepend",
         test_decrWithDefault_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, prepend, set",
         test_decrWithDefault_delete_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, add",
         test_decrWithDefault_delete_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, append",
         test_decrWithDefault_delete_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, decr",
         test_decrWithDefault_delete_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, decrWithDefault",
         test_decrWithDefault_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, delay",
         test_decrWithDefault_delete_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, delete",
         test_decrWithDefault_delete_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, flush",
         test_decrWithDefault_delete_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, incr",
         test_decrWithDefault_delete_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, incrWithDefault",
         test_decrWithDefault_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, prepend",
         test_decrWithDefault_delete_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, delete, set, set",
         test_decrWithDefault_delete_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, add",
         test_decrWithDefault_flush_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, append",
         test_decrWithDefault_flush_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, decr",
         test_decrWithDefault_flush_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, decrWithDefault",
         test_decrWithDefault_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, delay",
         test_decrWithDefault_flush_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, delete",
         test_decrWithDefault_flush_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, flush",
         test_decrWithDefault_flush_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, incr",
         test_decrWithDefault_flush_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, incrWithDefault",
         test_decrWithDefault_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, prepend",
         test_decrWithDefault_flush_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, add, set",
         test_decrWithDefault_flush_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, add",
         test_decrWithDefault_flush_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, append",
         test_decrWithDefault_flush_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, decr",
         test_decrWithDefault_flush_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, decrWithDefault",
         test_decrWithDefault_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, delay",
         test_decrWithDefault_flush_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, delete",
         test_decrWithDefault_flush_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, flush",
         test_decrWithDefault_flush_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, incr",
         test_decrWithDefault_flush_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, incrWithDefault",
         test_decrWithDefault_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, prepend",
         test_decrWithDefault_flush_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, append, set",
         test_decrWithDefault_flush_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, add",
         test_decrWithDefault_flush_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, append",
         test_decrWithDefault_flush_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, decr",
         test_decrWithDefault_flush_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, decrWithDefault",
         test_decrWithDefault_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, delay",
         test_decrWithDefault_flush_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, delete",
         test_decrWithDefault_flush_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, flush",
         test_decrWithDefault_flush_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, incr",
         test_decrWithDefault_flush_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, incrWithDefault",
         test_decrWithDefault_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, prepend",
         test_decrWithDefault_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decr, set",
         test_decrWithDefault_flush_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, add",
         test_decrWithDefault_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, append",
         test_decrWithDefault_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, decr",
         test_decrWithDefault_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, decrWithDefault",
         test_decrWithDefault_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, delay",
         test_decrWithDefault_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, delete",
         test_decrWithDefault_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, flush",
         test_decrWithDefault_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, incr",
         test_decrWithDefault_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, incrWithDefault",
         test_decrWithDefault_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, prepend",
         test_decrWithDefault_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, decrWithDefault, set",
         test_decrWithDefault_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, add",
         test_decrWithDefault_flush_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, append",
         test_decrWithDefault_flush_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, decr",
         test_decrWithDefault_flush_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, decrWithDefault",
         test_decrWithDefault_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, delay",
         test_decrWithDefault_flush_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, delete",
         test_decrWithDefault_flush_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, flush",
         test_decrWithDefault_flush_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, incr",
         test_decrWithDefault_flush_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, incrWithDefault",
         test_decrWithDefault_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, prepend",
         test_decrWithDefault_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delay, set",
         test_decrWithDefault_flush_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, add",
         test_decrWithDefault_flush_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, append",
         test_decrWithDefault_flush_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, decr",
         test_decrWithDefault_flush_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, decrWithDefault",
         test_decrWithDefault_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, delay",
         test_decrWithDefault_flush_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, delete",
         test_decrWithDefault_flush_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, flush",
         test_decrWithDefault_flush_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, incr",
         test_decrWithDefault_flush_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, incrWithDefault",
         test_decrWithDefault_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, prepend",
         test_decrWithDefault_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, delete, set",
         test_decrWithDefault_flush_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, add",
         test_decrWithDefault_flush_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, append",
         test_decrWithDefault_flush_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, decr",
         test_decrWithDefault_flush_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, decrWithDefault",
         test_decrWithDefault_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, delay",
         test_decrWithDefault_flush_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, delete",
         test_decrWithDefault_flush_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, flush",
         test_decrWithDefault_flush_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, incr",
         test_decrWithDefault_flush_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, incrWithDefault",
         test_decrWithDefault_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, prepend",
         test_decrWithDefault_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, flush, set",
         test_decrWithDefault_flush_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, add",
         test_decrWithDefault_flush_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, append",
         test_decrWithDefault_flush_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, decr",
         test_decrWithDefault_flush_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, decrWithDefault",
         test_decrWithDefault_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, delay",
         test_decrWithDefault_flush_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, delete",
         test_decrWithDefault_flush_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, flush",
         test_decrWithDefault_flush_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, incr",
         test_decrWithDefault_flush_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, incrWithDefault",
         test_decrWithDefault_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, prepend",
         test_decrWithDefault_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incr, set",
         test_decrWithDefault_flush_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, add",
         test_decrWithDefault_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, append",
         test_decrWithDefault_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, decr",
         test_decrWithDefault_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, decrWithDefault",
         test_decrWithDefault_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, delay",
         test_decrWithDefault_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, delete",
         test_decrWithDefault_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, flush",
         test_decrWithDefault_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, incr",
         test_decrWithDefault_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, incrWithDefault",
         test_decrWithDefault_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, prepend",
         test_decrWithDefault_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, incrWithDefault, set",
         test_decrWithDefault_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, add",
         test_decrWithDefault_flush_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, append",
         test_decrWithDefault_flush_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, decr",
         test_decrWithDefault_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, decrWithDefault",
         test_decrWithDefault_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, delay",
         test_decrWithDefault_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, delete",
         test_decrWithDefault_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, flush",
         test_decrWithDefault_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, incr",
         test_decrWithDefault_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, incrWithDefault",
         test_decrWithDefault_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, prepend",
         test_decrWithDefault_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, prepend, set",
         test_decrWithDefault_flush_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, add",
         test_decrWithDefault_flush_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, append",
         test_decrWithDefault_flush_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, decr",
         test_decrWithDefault_flush_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, decrWithDefault",
         test_decrWithDefault_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, delay",
         test_decrWithDefault_flush_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, delete",
         test_decrWithDefault_flush_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, flush",
         test_decrWithDefault_flush_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, incr",
         test_decrWithDefault_flush_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, incrWithDefault",
         test_decrWithDefault_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, prepend",
         test_decrWithDefault_flush_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, flush, set, set",
         test_decrWithDefault_flush_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, add",
         test_decrWithDefault_incr_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, append",
         test_decrWithDefault_incr_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, decr",
         test_decrWithDefault_incr_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, decrWithDefault",
         test_decrWithDefault_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, delay",
         test_decrWithDefault_incr_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, delete",
         test_decrWithDefault_incr_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, flush",
         test_decrWithDefault_incr_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, incr",
         test_decrWithDefault_incr_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, incrWithDefault",
         test_decrWithDefault_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, prepend",
         test_decrWithDefault_incr_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, add, set",
         test_decrWithDefault_incr_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, add",
         test_decrWithDefault_incr_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, append",
         test_decrWithDefault_incr_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, decr",
         test_decrWithDefault_incr_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, decrWithDefault",
         test_decrWithDefault_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, delay",
         test_decrWithDefault_incr_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, delete",
         test_decrWithDefault_incr_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, flush",
         test_decrWithDefault_incr_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, incr",
         test_decrWithDefault_incr_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, incrWithDefault",
         test_decrWithDefault_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, prepend",
         test_decrWithDefault_incr_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, append, set",
         test_decrWithDefault_incr_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, add",
         test_decrWithDefault_incr_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, append",
         test_decrWithDefault_incr_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, decr",
         test_decrWithDefault_incr_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, decrWithDefault",
         test_decrWithDefault_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, delay",
         test_decrWithDefault_incr_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, delete",
         test_decrWithDefault_incr_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, flush",
         test_decrWithDefault_incr_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, incr",
         test_decrWithDefault_incr_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, incrWithDefault",
         test_decrWithDefault_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, prepend",
         test_decrWithDefault_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decr, set",
         test_decrWithDefault_incr_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, add",
         test_decrWithDefault_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, append",
         test_decrWithDefault_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, decr",
         test_decrWithDefault_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, decrWithDefault",
         test_decrWithDefault_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, delay",
         test_decrWithDefault_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, delete",
         test_decrWithDefault_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, flush",
         test_decrWithDefault_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, incr",
         test_decrWithDefault_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, incrWithDefault",
         test_decrWithDefault_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, prepend",
         test_decrWithDefault_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, decrWithDefault, set",
         test_decrWithDefault_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, add",
         test_decrWithDefault_incr_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, append",
         test_decrWithDefault_incr_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, decr",
         test_decrWithDefault_incr_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, decrWithDefault",
         test_decrWithDefault_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, delay",
         test_decrWithDefault_incr_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, delete",
         test_decrWithDefault_incr_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, flush",
         test_decrWithDefault_incr_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, incr",
         test_decrWithDefault_incr_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, incrWithDefault",
         test_decrWithDefault_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, prepend",
         test_decrWithDefault_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delay, set",
         test_decrWithDefault_incr_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, add",
         test_decrWithDefault_incr_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, append",
         test_decrWithDefault_incr_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, decr",
         test_decrWithDefault_incr_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, decrWithDefault",
         test_decrWithDefault_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, delay",
         test_decrWithDefault_incr_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, delete",
         test_decrWithDefault_incr_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, flush",
         test_decrWithDefault_incr_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, incr",
         test_decrWithDefault_incr_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, incrWithDefault",
         test_decrWithDefault_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, prepend",
         test_decrWithDefault_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, delete, set",
         test_decrWithDefault_incr_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, add",
         test_decrWithDefault_incr_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, append",
         test_decrWithDefault_incr_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, decr",
         test_decrWithDefault_incr_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, decrWithDefault",
         test_decrWithDefault_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, delay",
         test_decrWithDefault_incr_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, delete",
         test_decrWithDefault_incr_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, flush",
         test_decrWithDefault_incr_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, incr",
         test_decrWithDefault_incr_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, incrWithDefault",
         test_decrWithDefault_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, prepend",
         test_decrWithDefault_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, flush, set",
         test_decrWithDefault_incr_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, add",
         test_decrWithDefault_incr_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, append",
         test_decrWithDefault_incr_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, decr",
         test_decrWithDefault_incr_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, decrWithDefault",
         test_decrWithDefault_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, delay",
         test_decrWithDefault_incr_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, delete",
         test_decrWithDefault_incr_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, flush",
         test_decrWithDefault_incr_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, incr",
         test_decrWithDefault_incr_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, incrWithDefault",
         test_decrWithDefault_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, prepend",
         test_decrWithDefault_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incr, set",
         test_decrWithDefault_incr_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, add",
         test_decrWithDefault_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, append",
         test_decrWithDefault_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, decr",
         test_decrWithDefault_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, decrWithDefault",
         test_decrWithDefault_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, delay",
         test_decrWithDefault_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, delete",
         test_decrWithDefault_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, flush",
         test_decrWithDefault_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, incr",
         test_decrWithDefault_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, incrWithDefault",
         test_decrWithDefault_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, prepend",
         test_decrWithDefault_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, incrWithDefault, set",
         test_decrWithDefault_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, add",
         test_decrWithDefault_incr_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, append",
         test_decrWithDefault_incr_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, decr",
         test_decrWithDefault_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, decrWithDefault",
         test_decrWithDefault_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, delay",
         test_decrWithDefault_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, delete",
         test_decrWithDefault_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, flush",
         test_decrWithDefault_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, incr",
         test_decrWithDefault_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, incrWithDefault",
         test_decrWithDefault_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, prepend",
         test_decrWithDefault_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, prepend, set",
         test_decrWithDefault_incr_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, add",
         test_decrWithDefault_incr_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, append",
         test_decrWithDefault_incr_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, decr",
         test_decrWithDefault_incr_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, decrWithDefault",
         test_decrWithDefault_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, delay",
         test_decrWithDefault_incr_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, delete",
         test_decrWithDefault_incr_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, flush",
         test_decrWithDefault_incr_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, incr",
         test_decrWithDefault_incr_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, incrWithDefault",
         test_decrWithDefault_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, prepend",
         test_decrWithDefault_incr_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incr, set, set",
         test_decrWithDefault_incr_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, add",
         test_decrWithDefault_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, append",
         test_decrWithDefault_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, decr",
         test_decrWithDefault_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, decrWithDefault",
         test_decrWithDefault_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, delay",
         test_decrWithDefault_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, delete",
         test_decrWithDefault_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, flush",
         test_decrWithDefault_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, incr",
         test_decrWithDefault_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, incrWithDefault",
         test_decrWithDefault_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, prepend",
         test_decrWithDefault_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, add, set",
         test_decrWithDefault_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, add",
         test_decrWithDefault_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, append",
         test_decrWithDefault_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, decr",
         test_decrWithDefault_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, decrWithDefault",
         test_decrWithDefault_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, delay",
         test_decrWithDefault_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, delete",
         test_decrWithDefault_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, flush",
         test_decrWithDefault_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, incr",
         test_decrWithDefault_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, incrWithDefault",
         test_decrWithDefault_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, prepend",
         test_decrWithDefault_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, append, set",
         test_decrWithDefault_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, add",
         test_decrWithDefault_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, append",
         test_decrWithDefault_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, decr",
         test_decrWithDefault_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, decrWithDefault",
         test_decrWithDefault_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, delay",
         test_decrWithDefault_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, delete",
         test_decrWithDefault_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, flush",
         test_decrWithDefault_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, incr",
         test_decrWithDefault_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, incrWithDefault",
         test_decrWithDefault_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, prepend",
         test_decrWithDefault_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decr, set",
         test_decrWithDefault_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, add",
         test_decrWithDefault_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, append",
         test_decrWithDefault_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, decr",
         test_decrWithDefault_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, decrWithDefault",
         test_decrWithDefault_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, delay",
         test_decrWithDefault_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, delete",
         test_decrWithDefault_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, flush",
         test_decrWithDefault_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, incr",
         test_decrWithDefault_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, incrWithDefault",
         test_decrWithDefault_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, prepend",
         test_decrWithDefault_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, decrWithDefault, set",
         test_decrWithDefault_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, add",
         test_decrWithDefault_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, append",
         test_decrWithDefault_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, decr",
         test_decrWithDefault_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, decrWithDefault",
         test_decrWithDefault_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, delay",
         test_decrWithDefault_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, delete",
         test_decrWithDefault_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, flush",
         test_decrWithDefault_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, incr",
         test_decrWithDefault_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, incrWithDefault",
         test_decrWithDefault_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, prepend",
         test_decrWithDefault_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delay, set",
         test_decrWithDefault_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, add",
         test_decrWithDefault_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, append",
         test_decrWithDefault_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, decr",
         test_decrWithDefault_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, decrWithDefault",
         test_decrWithDefault_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, delay",
         test_decrWithDefault_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, delete",
         test_decrWithDefault_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, flush",
         test_decrWithDefault_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, incr",
         test_decrWithDefault_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, incrWithDefault",
         test_decrWithDefault_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, prepend",
         test_decrWithDefault_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, delete, set",
         test_decrWithDefault_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, add",
         test_decrWithDefault_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, append",
         test_decrWithDefault_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, decr",
         test_decrWithDefault_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, decrWithDefault",
         test_decrWithDefault_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, delay",
         test_decrWithDefault_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, delete",
         test_decrWithDefault_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, flush",
         test_decrWithDefault_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, incr",
         test_decrWithDefault_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, incrWithDefault",
         test_decrWithDefault_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, prepend",
         test_decrWithDefault_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, flush, set",
         test_decrWithDefault_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, add",
         test_decrWithDefault_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, append",
         test_decrWithDefault_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, decr",
         test_decrWithDefault_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, decrWithDefault",
         test_decrWithDefault_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, delay",
         test_decrWithDefault_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, delete",
         test_decrWithDefault_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, flush",
         test_decrWithDefault_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, incr",
         test_decrWithDefault_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, incrWithDefault",
         test_decrWithDefault_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, prepend",
         test_decrWithDefault_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incr, set",
         test_decrWithDefault_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, add",
         test_decrWithDefault_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, append",
         test_decrWithDefault_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, decr",
         test_decrWithDefault_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, decrWithDefault",
         test_decrWithDefault_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, delay",
         test_decrWithDefault_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, delete",
         test_decrWithDefault_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, flush",
         test_decrWithDefault_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, incr",
         test_decrWithDefault_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, incrWithDefault",
         test_decrWithDefault_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, prepend",
         test_decrWithDefault_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, incrWithDefault, set",
         test_decrWithDefault_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, add",
         test_decrWithDefault_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, append",
         test_decrWithDefault_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, decr",
         test_decrWithDefault_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, decrWithDefault",
         test_decrWithDefault_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, delay",
         test_decrWithDefault_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, delete",
         test_decrWithDefault_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, flush",
         test_decrWithDefault_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, incr",
         test_decrWithDefault_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, incrWithDefault",
         test_decrWithDefault_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, prepend",
         test_decrWithDefault_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, prepend, set",
         test_decrWithDefault_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, add",
         test_decrWithDefault_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, append",
         test_decrWithDefault_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, decr",
         test_decrWithDefault_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, decrWithDefault",
         test_decrWithDefault_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, delay",
         test_decrWithDefault_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, delete",
         test_decrWithDefault_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, flush",
         test_decrWithDefault_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, incr",
         test_decrWithDefault_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, incrWithDefault",
         test_decrWithDefault_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, prepend",
         test_decrWithDefault_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, incrWithDefault, set, set",
         test_decrWithDefault_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, add",
         test_decrWithDefault_prepend_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, append",
         test_decrWithDefault_prepend_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, decr",
         test_decrWithDefault_prepend_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, decrWithDefault",
         test_decrWithDefault_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, delay",
         test_decrWithDefault_prepend_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, delete",
         test_decrWithDefault_prepend_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, flush",
         test_decrWithDefault_prepend_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, incr",
         test_decrWithDefault_prepend_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, incrWithDefault",
         test_decrWithDefault_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, prepend",
         test_decrWithDefault_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, add, set",
         test_decrWithDefault_prepend_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, add",
         test_decrWithDefault_prepend_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, append",
         test_decrWithDefault_prepend_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, decr",
         test_decrWithDefault_prepend_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, decrWithDefault",
         test_decrWithDefault_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, delay",
         test_decrWithDefault_prepend_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, delete",
         test_decrWithDefault_prepend_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, flush",
         test_decrWithDefault_prepend_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, incr",
         test_decrWithDefault_prepend_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, incrWithDefault",
         test_decrWithDefault_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, prepend",
         test_decrWithDefault_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, append, set",
         test_decrWithDefault_prepend_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, add",
         test_decrWithDefault_prepend_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, append",
         test_decrWithDefault_prepend_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, decr",
         test_decrWithDefault_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, decrWithDefault",
         test_decrWithDefault_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, delay",
         test_decrWithDefault_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, delete",
         test_decrWithDefault_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, flush",
         test_decrWithDefault_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, incr",
         test_decrWithDefault_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, incrWithDefault",
         test_decrWithDefault_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, prepend",
         test_decrWithDefault_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decr, set",
         test_decrWithDefault_prepend_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, add",
         test_decrWithDefault_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, append",
         test_decrWithDefault_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, decr",
         test_decrWithDefault_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, decrWithDefault",
         test_decrWithDefault_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, delay",
         test_decrWithDefault_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, delete",
         test_decrWithDefault_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, flush",
         test_decrWithDefault_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, incr",
         test_decrWithDefault_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, incrWithDefault",
         test_decrWithDefault_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, prepend",
         test_decrWithDefault_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, decrWithDefault, set",
         test_decrWithDefault_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, add",
         test_decrWithDefault_prepend_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, append",
         test_decrWithDefault_prepend_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, decr",
         test_decrWithDefault_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, decrWithDefault",
         test_decrWithDefault_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, delay",
         test_decrWithDefault_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, delete",
         test_decrWithDefault_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, flush",
         test_decrWithDefault_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, incr",
         test_decrWithDefault_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, incrWithDefault",
         test_decrWithDefault_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, prepend",
         test_decrWithDefault_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delay, set",
         test_decrWithDefault_prepend_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, add",
         test_decrWithDefault_prepend_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, append",
         test_decrWithDefault_prepend_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, decr",
         test_decrWithDefault_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, decrWithDefault",
         test_decrWithDefault_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, delay",
         test_decrWithDefault_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, delete",
         test_decrWithDefault_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, flush",
         test_decrWithDefault_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, incr",
         test_decrWithDefault_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, incrWithDefault",
         test_decrWithDefault_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, prepend",
         test_decrWithDefault_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, delete, set",
         test_decrWithDefault_prepend_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, add",
         test_decrWithDefault_prepend_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, append",
         test_decrWithDefault_prepend_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, decr",
         test_decrWithDefault_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, decrWithDefault",
         test_decrWithDefault_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, delay",
         test_decrWithDefault_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, delete",
         test_decrWithDefault_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, flush",
         test_decrWithDefault_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, incr",
         test_decrWithDefault_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, incrWithDefault",
         test_decrWithDefault_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, prepend",
         test_decrWithDefault_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, flush, set",
         test_decrWithDefault_prepend_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, add",
         test_decrWithDefault_prepend_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, append",
         test_decrWithDefault_prepend_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, decr",
         test_decrWithDefault_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, decrWithDefault",
         test_decrWithDefault_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, delay",
         test_decrWithDefault_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, delete",
         test_decrWithDefault_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, flush",
         test_decrWithDefault_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, incr",
         test_decrWithDefault_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, incrWithDefault",
         test_decrWithDefault_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, prepend",
         test_decrWithDefault_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incr, set",
         test_decrWithDefault_prepend_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, add",
         test_decrWithDefault_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, append",
         test_decrWithDefault_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, decr",
         test_decrWithDefault_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, decrWithDefault",
         test_decrWithDefault_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, delay",
         test_decrWithDefault_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, delete",
         test_decrWithDefault_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, flush",
         test_decrWithDefault_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, incr",
         test_decrWithDefault_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, incrWithDefault",
         test_decrWithDefault_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, prepend",
         test_decrWithDefault_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, incrWithDefault, set",
         test_decrWithDefault_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, add",
         test_decrWithDefault_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, append",
         test_decrWithDefault_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, decr",
         test_decrWithDefault_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, decrWithDefault",
         test_decrWithDefault_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, delay",
         test_decrWithDefault_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, delete",
         test_decrWithDefault_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, flush",
         test_decrWithDefault_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, incr",
         test_decrWithDefault_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, incrWithDefault",
         test_decrWithDefault_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, prepend",
         test_decrWithDefault_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, prepend, set",
         test_decrWithDefault_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, add",
         test_decrWithDefault_prepend_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, append",
         test_decrWithDefault_prepend_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, decr",
         test_decrWithDefault_prepend_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, decrWithDefault",
         test_decrWithDefault_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, delay",
         test_decrWithDefault_prepend_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, delete",
         test_decrWithDefault_prepend_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, flush",
         test_decrWithDefault_prepend_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, incr",
         test_decrWithDefault_prepend_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, incrWithDefault",
         test_decrWithDefault_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, prepend",
         test_decrWithDefault_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, prepend, set, set",
         test_decrWithDefault_prepend_set_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, add",
         test_decrWithDefault_set_add_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, append",
         test_decrWithDefault_set_add_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, decr",
         test_decrWithDefault_set_add_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, decrWithDefault",
         test_decrWithDefault_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, delay",
         test_decrWithDefault_set_add_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, delete",
         test_decrWithDefault_set_add_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, flush",
         test_decrWithDefault_set_add_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, incr",
         test_decrWithDefault_set_add_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, incrWithDefault",
         test_decrWithDefault_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, prepend",
         test_decrWithDefault_set_add_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, add, set",
         test_decrWithDefault_set_add_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, add",
         test_decrWithDefault_set_append_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, append",
         test_decrWithDefault_set_append_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, decr",
         test_decrWithDefault_set_append_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, decrWithDefault",
         test_decrWithDefault_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, delay",
         test_decrWithDefault_set_append_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, delete",
         test_decrWithDefault_set_append_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, flush",
         test_decrWithDefault_set_append_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, incr",
         test_decrWithDefault_set_append_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, incrWithDefault",
         test_decrWithDefault_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, prepend",
         test_decrWithDefault_set_append_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, append, set",
         test_decrWithDefault_set_append_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, add",
         test_decrWithDefault_set_decr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, append",
         test_decrWithDefault_set_decr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, decr",
         test_decrWithDefault_set_decr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, decrWithDefault",
         test_decrWithDefault_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, delay",
         test_decrWithDefault_set_decr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, delete",
         test_decrWithDefault_set_decr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, flush",
         test_decrWithDefault_set_decr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, incr",
         test_decrWithDefault_set_decr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, incrWithDefault",
         test_decrWithDefault_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, prepend",
         test_decrWithDefault_set_decr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decr, set",
         test_decrWithDefault_set_decr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, add",
         test_decrWithDefault_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, append",
         test_decrWithDefault_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, decr",
         test_decrWithDefault_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, decrWithDefault",
         test_decrWithDefault_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, delay",
         test_decrWithDefault_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, delete",
         test_decrWithDefault_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, flush",
         test_decrWithDefault_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, incr",
         test_decrWithDefault_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, incrWithDefault",
         test_decrWithDefault_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, prepend",
         test_decrWithDefault_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, decrWithDefault, set",
         test_decrWithDefault_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, add",
         test_decrWithDefault_set_delay_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, append",
         test_decrWithDefault_set_delay_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, decr",
         test_decrWithDefault_set_delay_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, decrWithDefault",
         test_decrWithDefault_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, delay",
         test_decrWithDefault_set_delay_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, delete",
         test_decrWithDefault_set_delay_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, flush",
         test_decrWithDefault_set_delay_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, incr",
         test_decrWithDefault_set_delay_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, incrWithDefault",
         test_decrWithDefault_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, prepend",
         test_decrWithDefault_set_delay_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delay, set",
         test_decrWithDefault_set_delay_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, add",
         test_decrWithDefault_set_delete_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, append",
         test_decrWithDefault_set_delete_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, decr",
         test_decrWithDefault_set_delete_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, decrWithDefault",
         test_decrWithDefault_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, delay",
         test_decrWithDefault_set_delete_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, delete",
         test_decrWithDefault_set_delete_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, flush",
         test_decrWithDefault_set_delete_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, incr",
         test_decrWithDefault_set_delete_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, incrWithDefault",
         test_decrWithDefault_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, prepend",
         test_decrWithDefault_set_delete_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, delete, set",
         test_decrWithDefault_set_delete_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, add",
         test_decrWithDefault_set_flush_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, append",
         test_decrWithDefault_set_flush_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, decr",
         test_decrWithDefault_set_flush_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, decrWithDefault",
         test_decrWithDefault_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, delay",
         test_decrWithDefault_set_flush_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, delete",
         test_decrWithDefault_set_flush_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, flush",
         test_decrWithDefault_set_flush_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, incr",
         test_decrWithDefault_set_flush_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, incrWithDefault",
         test_decrWithDefault_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, prepend",
         test_decrWithDefault_set_flush_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, flush, set",
         test_decrWithDefault_set_flush_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, add",
         test_decrWithDefault_set_incr_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, append",
         test_decrWithDefault_set_incr_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, decr",
         test_decrWithDefault_set_incr_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, decrWithDefault",
         test_decrWithDefault_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, delay",
         test_decrWithDefault_set_incr_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, delete",
         test_decrWithDefault_set_incr_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, flush",
         test_decrWithDefault_set_incr_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, incr",
         test_decrWithDefault_set_incr_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, incrWithDefault",
         test_decrWithDefault_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, prepend",
         test_decrWithDefault_set_incr_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incr, set",
         test_decrWithDefault_set_incr_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, add",
         test_decrWithDefault_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, append",
         test_decrWithDefault_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, decr",
         test_decrWithDefault_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, decrWithDefault",
         test_decrWithDefault_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, delay",
         test_decrWithDefault_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, delete",
         test_decrWithDefault_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, flush",
         test_decrWithDefault_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, incr",
         test_decrWithDefault_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, incrWithDefault",
         test_decrWithDefault_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, prepend",
         test_decrWithDefault_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, incrWithDefault, set",
         test_decrWithDefault_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, add",
         test_decrWithDefault_set_prepend_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, append",
         test_decrWithDefault_set_prepend_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, decr",
         test_decrWithDefault_set_prepend_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, decrWithDefault",
         test_decrWithDefault_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, delay",
         test_decrWithDefault_set_prepend_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, delete",
         test_decrWithDefault_set_prepend_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, flush",
         test_decrWithDefault_set_prepend_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, incr",
         test_decrWithDefault_set_prepend_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, incrWithDefault",
         test_decrWithDefault_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, prepend",
         test_decrWithDefault_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, prepend, set",
         test_decrWithDefault_set_prepend_set,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, add",
         test_decrWithDefault_set_set_add,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, append",
         test_decrWithDefault_set_set_append,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, decr",
         test_decrWithDefault_set_set_decr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, decrWithDefault",
         test_decrWithDefault_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, delay",
         test_decrWithDefault_set_set_delay,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, delete",
         test_decrWithDefault_set_set_delete,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, flush",
         test_decrWithDefault_set_set_flush,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, incr",
         test_decrWithDefault_set_set_incr,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, incrWithDefault",
         test_decrWithDefault_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, prepend",
         test_decrWithDefault_set_set_prepend,
         test_setup, teardown, NULL},
        {"decrWithDefault, set, set, set",
         test_decrWithDefault_set_set_set,
         test_setup, teardown, NULL},
        {"delay, add, add, add",
         test_delay_add_add_add,
         test_setup, teardown, NULL},
        {"delay, add, add, append",
         test_delay_add_add_append,
         test_setup, teardown, NULL},
        {"delay, add, add, decr",
         test_delay_add_add_decr,
         test_setup, teardown, NULL},
        {"delay, add, add, decrWithDefault",
         test_delay_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, add, delay",
         test_delay_add_add_delay,
         test_setup, teardown, NULL},
        {"delay, add, add, delete",
         test_delay_add_add_delete,
         test_setup, teardown, NULL},
        {"delay, add, add, flush",
         test_delay_add_add_flush,
         test_setup, teardown, NULL},
        {"delay, add, add, incr",
         test_delay_add_add_incr,
         test_setup, teardown, NULL},
        {"delay, add, add, incrWithDefault",
         test_delay_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, add, prepend",
         test_delay_add_add_prepend,
         test_setup, teardown, NULL},
        {"delay, add, add, set",
         test_delay_add_add_set,
         test_setup, teardown, NULL},
        {"delay, add, append, add",
         test_delay_add_append_add,
         test_setup, teardown, NULL},
        {"delay, add, append, append",
         test_delay_add_append_append,
         test_setup, teardown, NULL},
        {"delay, add, append, decr",
         test_delay_add_append_decr,
         test_setup, teardown, NULL},
        {"delay, add, append, decrWithDefault",
         test_delay_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, append, delay",
         test_delay_add_append_delay,
         test_setup, teardown, NULL},
        {"delay, add, append, delete",
         test_delay_add_append_delete,
         test_setup, teardown, NULL},
        {"delay, add, append, flush",
         test_delay_add_append_flush,
         test_setup, teardown, NULL},
        {"delay, add, append, incr",
         test_delay_add_append_incr,
         test_setup, teardown, NULL},
        {"delay, add, append, incrWithDefault",
         test_delay_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, append, prepend",
         test_delay_add_append_prepend,
         test_setup, teardown, NULL},
        {"delay, add, append, set",
         test_delay_add_append_set,
         test_setup, teardown, NULL},
        {"delay, add, decr, add",
         test_delay_add_decr_add,
         test_setup, teardown, NULL},
        {"delay, add, decr, append",
         test_delay_add_decr_append,
         test_setup, teardown, NULL},
        {"delay, add, decr, decr",
         test_delay_add_decr_decr,
         test_setup, teardown, NULL},
        {"delay, add, decr, decrWithDefault",
         test_delay_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, decr, delay",
         test_delay_add_decr_delay,
         test_setup, teardown, NULL},
        {"delay, add, decr, delete",
         test_delay_add_decr_delete,
         test_setup, teardown, NULL},
        {"delay, add, decr, flush",
         test_delay_add_decr_flush,
         test_setup, teardown, NULL},
        {"delay, add, decr, incr",
         test_delay_add_decr_incr,
         test_setup, teardown, NULL},
        {"delay, add, decr, incrWithDefault",
         test_delay_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, decr, prepend",
         test_delay_add_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, add, decr, set",
         test_delay_add_decr_set,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, add",
         test_delay_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, append",
         test_delay_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, decr",
         test_delay_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, decrWithDefault",
         test_delay_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, delay",
         test_delay_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, delete",
         test_delay_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, flush",
         test_delay_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, incr",
         test_delay_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, incrWithDefault",
         test_delay_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, prepend",
         test_delay_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, add, decrWithDefault, set",
         test_delay_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, add, delay, add",
         test_delay_add_delay_add,
         test_setup, teardown, NULL},
        {"delay, add, delay, append",
         test_delay_add_delay_append,
         test_setup, teardown, NULL},
        {"delay, add, delay, decr",
         test_delay_add_delay_decr,
         test_setup, teardown, NULL},
        {"delay, add, delay, decrWithDefault",
         test_delay_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, delay, delay",
         test_delay_add_delay_delay,
         test_setup, teardown, NULL},
        {"delay, add, delay, delete",
         test_delay_add_delay_delete,
         test_setup, teardown, NULL},
        {"delay, add, delay, flush",
         test_delay_add_delay_flush,
         test_setup, teardown, NULL},
        {"delay, add, delay, incr",
         test_delay_add_delay_incr,
         test_setup, teardown, NULL},
        {"delay, add, delay, incrWithDefault",
         test_delay_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, delay, prepend",
         test_delay_add_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, add, delay, set",
         test_delay_add_delay_set,
         test_setup, teardown, NULL},
        {"delay, add, delete, add",
         test_delay_add_delete_add,
         test_setup, teardown, NULL},
        {"delay, add, delete, append",
         test_delay_add_delete_append,
         test_setup, teardown, NULL},
        {"delay, add, delete, decr",
         test_delay_add_delete_decr,
         test_setup, teardown, NULL},
        {"delay, add, delete, decrWithDefault",
         test_delay_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, delete, delay",
         test_delay_add_delete_delay,
         test_setup, teardown, NULL},
        {"delay, add, delete, delete",
         test_delay_add_delete_delete,
         test_setup, teardown, NULL},
        {"delay, add, delete, flush",
         test_delay_add_delete_flush,
         test_setup, teardown, NULL},
        {"delay, add, delete, incr",
         test_delay_add_delete_incr,
         test_setup, teardown, NULL},
        {"delay, add, delete, incrWithDefault",
         test_delay_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, delete, prepend",
         test_delay_add_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, add, delete, set",
         test_delay_add_delete_set,
         test_setup, teardown, NULL},
        {"delay, add, flush, add",
         test_delay_add_flush_add,
         test_setup, teardown, NULL},
        {"delay, add, flush, append",
         test_delay_add_flush_append,
         test_setup, teardown, NULL},
        {"delay, add, flush, decr",
         test_delay_add_flush_decr,
         test_setup, teardown, NULL},
        {"delay, add, flush, decrWithDefault",
         test_delay_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, flush, delay",
         test_delay_add_flush_delay,
         test_setup, teardown, NULL},
        {"delay, add, flush, delete",
         test_delay_add_flush_delete,
         test_setup, teardown, NULL},
        {"delay, add, flush, flush",
         test_delay_add_flush_flush,
         test_setup, teardown, NULL},
        {"delay, add, flush, incr",
         test_delay_add_flush_incr,
         test_setup, teardown, NULL},
        {"delay, add, flush, incrWithDefault",
         test_delay_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, flush, prepend",
         test_delay_add_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, add, flush, set",
         test_delay_add_flush_set,
         test_setup, teardown, NULL},
        {"delay, add, incr, add",
         test_delay_add_incr_add,
         test_setup, teardown, NULL},
        {"delay, add, incr, append",
         test_delay_add_incr_append,
         test_setup, teardown, NULL},
        {"delay, add, incr, decr",
         test_delay_add_incr_decr,
         test_setup, teardown, NULL},
        {"delay, add, incr, decrWithDefault",
         test_delay_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, incr, delay",
         test_delay_add_incr_delay,
         test_setup, teardown, NULL},
        {"delay, add, incr, delete",
         test_delay_add_incr_delete,
         test_setup, teardown, NULL},
        {"delay, add, incr, flush",
         test_delay_add_incr_flush,
         test_setup, teardown, NULL},
        {"delay, add, incr, incr",
         test_delay_add_incr_incr,
         test_setup, teardown, NULL},
        {"delay, add, incr, incrWithDefault",
         test_delay_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, incr, prepend",
         test_delay_add_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, add, incr, set",
         test_delay_add_incr_set,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, add",
         test_delay_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, append",
         test_delay_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, decr",
         test_delay_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, decrWithDefault",
         test_delay_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, delay",
         test_delay_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, delete",
         test_delay_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, flush",
         test_delay_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, incr",
         test_delay_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, incrWithDefault",
         test_delay_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, prepend",
         test_delay_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, add, incrWithDefault, set",
         test_delay_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, add, prepend, add",
         test_delay_add_prepend_add,
         test_setup, teardown, NULL},
        {"delay, add, prepend, append",
         test_delay_add_prepend_append,
         test_setup, teardown, NULL},
        {"delay, add, prepend, decr",
         test_delay_add_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, add, prepend, decrWithDefault",
         test_delay_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, prepend, delay",
         test_delay_add_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, add, prepend, delete",
         test_delay_add_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, add, prepend, flush",
         test_delay_add_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, add, prepend, incr",
         test_delay_add_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, add, prepend, incrWithDefault",
         test_delay_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, prepend, prepend",
         test_delay_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, add, prepend, set",
         test_delay_add_prepend_set,
         test_setup, teardown, NULL},
        {"delay, add, set, add",
         test_delay_add_set_add,
         test_setup, teardown, NULL},
        {"delay, add, set, append",
         test_delay_add_set_append,
         test_setup, teardown, NULL},
        {"delay, add, set, decr",
         test_delay_add_set_decr,
         test_setup, teardown, NULL},
        {"delay, add, set, decrWithDefault",
         test_delay_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, set, delay",
         test_delay_add_set_delay,
         test_setup, teardown, NULL},
        {"delay, add, set, delete",
         test_delay_add_set_delete,
         test_setup, teardown, NULL},
        {"delay, add, set, flush",
         test_delay_add_set_flush,
         test_setup, teardown, NULL},
        {"delay, add, set, incr",
         test_delay_add_set_incr,
         test_setup, teardown, NULL},
        {"delay, add, set, incrWithDefault",
         test_delay_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, add, set, prepend",
         test_delay_add_set_prepend,
         test_setup, teardown, NULL},
        {"delay, add, set, set",
         test_delay_add_set_set,
         test_setup, teardown, NULL},
        {"delay, append, add, add",
         test_delay_append_add_add,
         test_setup, teardown, NULL},
        {"delay, append, add, append",
         test_delay_append_add_append,
         test_setup, teardown, NULL},
        {"delay, append, add, decr",
         test_delay_append_add_decr,
         test_setup, teardown, NULL},
        {"delay, append, add, decrWithDefault",
         test_delay_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, add, delay",
         test_delay_append_add_delay,
         test_setup, teardown, NULL},
        {"delay, append, add, delete",
         test_delay_append_add_delete,
         test_setup, teardown, NULL},
        {"delay, append, add, flush",
         test_delay_append_add_flush,
         test_setup, teardown, NULL},
        {"delay, append, add, incr",
         test_delay_append_add_incr,
         test_setup, teardown, NULL},
        {"delay, append, add, incrWithDefault",
         test_delay_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, add, prepend",
         test_delay_append_add_prepend,
         test_setup, teardown, NULL},
        {"delay, append, add, set",
         test_delay_append_add_set,
         test_setup, teardown, NULL},
        {"delay, append, append, add",
         test_delay_append_append_add,
         test_setup, teardown, NULL},
        {"delay, append, append, append",
         test_delay_append_append_append,
         test_setup, teardown, NULL},
        {"delay, append, append, decr",
         test_delay_append_append_decr,
         test_setup, teardown, NULL},
        {"delay, append, append, decrWithDefault",
         test_delay_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, append, delay",
         test_delay_append_append_delay,
         test_setup, teardown, NULL},
        {"delay, append, append, delete",
         test_delay_append_append_delete,
         test_setup, teardown, NULL},
        {"delay, append, append, flush",
         test_delay_append_append_flush,
         test_setup, teardown, NULL},
        {"delay, append, append, incr",
         test_delay_append_append_incr,
         test_setup, teardown, NULL},
        {"delay, append, append, incrWithDefault",
         test_delay_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, append, prepend",
         test_delay_append_append_prepend,
         test_setup, teardown, NULL},
        {"delay, append, append, set",
         test_delay_append_append_set,
         test_setup, teardown, NULL},
        {"delay, append, decr, add",
         test_delay_append_decr_add,
         test_setup, teardown, NULL},
        {"delay, append, decr, append",
         test_delay_append_decr_append,
         test_setup, teardown, NULL},
        {"delay, append, decr, decr",
         test_delay_append_decr_decr,
         test_setup, teardown, NULL},
        {"delay, append, decr, decrWithDefault",
         test_delay_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, decr, delay",
         test_delay_append_decr_delay,
         test_setup, teardown, NULL},
        {"delay, append, decr, delete",
         test_delay_append_decr_delete,
         test_setup, teardown, NULL},
        {"delay, append, decr, flush",
         test_delay_append_decr_flush,
         test_setup, teardown, NULL},
        {"delay, append, decr, incr",
         test_delay_append_decr_incr,
         test_setup, teardown, NULL},
        {"delay, append, decr, incrWithDefault",
         test_delay_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, decr, prepend",
         test_delay_append_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, append, decr, set",
         test_delay_append_decr_set,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, add",
         test_delay_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, append",
         test_delay_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, decr",
         test_delay_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, decrWithDefault",
         test_delay_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, delay",
         test_delay_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, delete",
         test_delay_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, flush",
         test_delay_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, incr",
         test_delay_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, incrWithDefault",
         test_delay_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, prepend",
         test_delay_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, append, decrWithDefault, set",
         test_delay_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, append, delay, add",
         test_delay_append_delay_add,
         test_setup, teardown, NULL},
        {"delay, append, delay, append",
         test_delay_append_delay_append,
         test_setup, teardown, NULL},
        {"delay, append, delay, decr",
         test_delay_append_delay_decr,
         test_setup, teardown, NULL},
        {"delay, append, delay, decrWithDefault",
         test_delay_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, delay, delay",
         test_delay_append_delay_delay,
         test_setup, teardown, NULL},
        {"delay, append, delay, delete",
         test_delay_append_delay_delete,
         test_setup, teardown, NULL},
        {"delay, append, delay, flush",
         test_delay_append_delay_flush,
         test_setup, teardown, NULL},
        {"delay, append, delay, incr",
         test_delay_append_delay_incr,
         test_setup, teardown, NULL},
        {"delay, append, delay, incrWithDefault",
         test_delay_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, delay, prepend",
         test_delay_append_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, append, delay, set",
         test_delay_append_delay_set,
         test_setup, teardown, NULL},
        {"delay, append, delete, add",
         test_delay_append_delete_add,
         test_setup, teardown, NULL},
        {"delay, append, delete, append",
         test_delay_append_delete_append,
         test_setup, teardown, NULL},
        {"delay, append, delete, decr",
         test_delay_append_delete_decr,
         test_setup, teardown, NULL},
        {"delay, append, delete, decrWithDefault",
         test_delay_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, delete, delay",
         test_delay_append_delete_delay,
         test_setup, teardown, NULL},
        {"delay, append, delete, delete",
         test_delay_append_delete_delete,
         test_setup, teardown, NULL},
        {"delay, append, delete, flush",
         test_delay_append_delete_flush,
         test_setup, teardown, NULL},
        {"delay, append, delete, incr",
         test_delay_append_delete_incr,
         test_setup, teardown, NULL},
        {"delay, append, delete, incrWithDefault",
         test_delay_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, delete, prepend",
         test_delay_append_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, append, delete, set",
         test_delay_append_delete_set,
         test_setup, teardown, NULL},
        {"delay, append, flush, add",
         test_delay_append_flush_add,
         test_setup, teardown, NULL},
        {"delay, append, flush, append",
         test_delay_append_flush_append,
         test_setup, teardown, NULL},
        {"delay, append, flush, decr",
         test_delay_append_flush_decr,
         test_setup, teardown, NULL},
        {"delay, append, flush, decrWithDefault",
         test_delay_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, flush, delay",
         test_delay_append_flush_delay,
         test_setup, teardown, NULL},
        {"delay, append, flush, delete",
         test_delay_append_flush_delete,
         test_setup, teardown, NULL},
        {"delay, append, flush, flush",
         test_delay_append_flush_flush,
         test_setup, teardown, NULL},
        {"delay, append, flush, incr",
         test_delay_append_flush_incr,
         test_setup, teardown, NULL},
        {"delay, append, flush, incrWithDefault",
         test_delay_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, flush, prepend",
         test_delay_append_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, append, flush, set",
         test_delay_append_flush_set,
         test_setup, teardown, NULL},
        {"delay, append, incr, add",
         test_delay_append_incr_add,
         test_setup, teardown, NULL},
        {"delay, append, incr, append",
         test_delay_append_incr_append,
         test_setup, teardown, NULL},
        {"delay, append, incr, decr",
         test_delay_append_incr_decr,
         test_setup, teardown, NULL},
        {"delay, append, incr, decrWithDefault",
         test_delay_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, incr, delay",
         test_delay_append_incr_delay,
         test_setup, teardown, NULL},
        {"delay, append, incr, delete",
         test_delay_append_incr_delete,
         test_setup, teardown, NULL},
        {"delay, append, incr, flush",
         test_delay_append_incr_flush,
         test_setup, teardown, NULL},
        {"delay, append, incr, incr",
         test_delay_append_incr_incr,
         test_setup, teardown, NULL},
        {"delay, append, incr, incrWithDefault",
         test_delay_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, incr, prepend",
         test_delay_append_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, append, incr, set",
         test_delay_append_incr_set,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, add",
         test_delay_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, append",
         test_delay_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, decr",
         test_delay_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, decrWithDefault",
         test_delay_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, delay",
         test_delay_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, delete",
         test_delay_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, flush",
         test_delay_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, incr",
         test_delay_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, incrWithDefault",
         test_delay_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, prepend",
         test_delay_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, append, incrWithDefault, set",
         test_delay_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, append, prepend, add",
         test_delay_append_prepend_add,
         test_setup, teardown, NULL},
        {"delay, append, prepend, append",
         test_delay_append_prepend_append,
         test_setup, teardown, NULL},
        {"delay, append, prepend, decr",
         test_delay_append_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, append, prepend, decrWithDefault",
         test_delay_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, prepend, delay",
         test_delay_append_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, append, prepend, delete",
         test_delay_append_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, append, prepend, flush",
         test_delay_append_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, append, prepend, incr",
         test_delay_append_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, append, prepend, incrWithDefault",
         test_delay_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, prepend, prepend",
         test_delay_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, append, prepend, set",
         test_delay_append_prepend_set,
         test_setup, teardown, NULL},
        {"delay, append, set, add",
         test_delay_append_set_add,
         test_setup, teardown, NULL},
        {"delay, append, set, append",
         test_delay_append_set_append,
         test_setup, teardown, NULL},
        {"delay, append, set, decr",
         test_delay_append_set_decr,
         test_setup, teardown, NULL},
        {"delay, append, set, decrWithDefault",
         test_delay_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, set, delay",
         test_delay_append_set_delay,
         test_setup, teardown, NULL},
        {"delay, append, set, delete",
         test_delay_append_set_delete,
         test_setup, teardown, NULL},
        {"delay, append, set, flush",
         test_delay_append_set_flush,
         test_setup, teardown, NULL},
        {"delay, append, set, incr",
         test_delay_append_set_incr,
         test_setup, teardown, NULL},
        {"delay, append, set, incrWithDefault",
         test_delay_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, append, set, prepend",
         test_delay_append_set_prepend,
         test_setup, teardown, NULL},
        {"delay, append, set, set",
         test_delay_append_set_set,
         test_setup, teardown, NULL},
        {"delay, decr, add, add",
         test_delay_decr_add_add,
         test_setup, teardown, NULL},
        {"delay, decr, add, append",
         test_delay_decr_add_append,
         test_setup, teardown, NULL},
        {"delay, decr, add, decr",
         test_delay_decr_add_decr,
         test_setup, teardown, NULL},
        {"delay, decr, add, decrWithDefault",
         test_delay_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, add, delay",
         test_delay_decr_add_delay,
         test_setup, teardown, NULL},
        {"delay, decr, add, delete",
         test_delay_decr_add_delete,
         test_setup, teardown, NULL},
        {"delay, decr, add, flush",
         test_delay_decr_add_flush,
         test_setup, teardown, NULL},
        {"delay, decr, add, incr",
         test_delay_decr_add_incr,
         test_setup, teardown, NULL},
        {"delay, decr, add, incrWithDefault",
         test_delay_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, add, prepend",
         test_delay_decr_add_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, add, set",
         test_delay_decr_add_set,
         test_setup, teardown, NULL},
        {"delay, decr, append, add",
         test_delay_decr_append_add,
         test_setup, teardown, NULL},
        {"delay, decr, append, append",
         test_delay_decr_append_append,
         test_setup, teardown, NULL},
        {"delay, decr, append, decr",
         test_delay_decr_append_decr,
         test_setup, teardown, NULL},
        {"delay, decr, append, decrWithDefault",
         test_delay_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, append, delay",
         test_delay_decr_append_delay,
         test_setup, teardown, NULL},
        {"delay, decr, append, delete",
         test_delay_decr_append_delete,
         test_setup, teardown, NULL},
        {"delay, decr, append, flush",
         test_delay_decr_append_flush,
         test_setup, teardown, NULL},
        {"delay, decr, append, incr",
         test_delay_decr_append_incr,
         test_setup, teardown, NULL},
        {"delay, decr, append, incrWithDefault",
         test_delay_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, append, prepend",
         test_delay_decr_append_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, append, set",
         test_delay_decr_append_set,
         test_setup, teardown, NULL},
        {"delay, decr, decr, add",
         test_delay_decr_decr_add,
         test_setup, teardown, NULL},
        {"delay, decr, decr, append",
         test_delay_decr_decr_append,
         test_setup, teardown, NULL},
        {"delay, decr, decr, decr",
         test_delay_decr_decr_decr,
         test_setup, teardown, NULL},
        {"delay, decr, decr, decrWithDefault",
         test_delay_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, decr, delay",
         test_delay_decr_decr_delay,
         test_setup, teardown, NULL},
        {"delay, decr, decr, delete",
         test_delay_decr_decr_delete,
         test_setup, teardown, NULL},
        {"delay, decr, decr, flush",
         test_delay_decr_decr_flush,
         test_setup, teardown, NULL},
        {"delay, decr, decr, incr",
         test_delay_decr_decr_incr,
         test_setup, teardown, NULL},
        {"delay, decr, decr, incrWithDefault",
         test_delay_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, decr, prepend",
         test_delay_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, decr, set",
         test_delay_decr_decr_set,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, add",
         test_delay_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, append",
         test_delay_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, decr",
         test_delay_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, decrWithDefault",
         test_delay_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, delay",
         test_delay_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, delete",
         test_delay_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, flush",
         test_delay_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, incr",
         test_delay_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, incrWithDefault",
         test_delay_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, prepend",
         test_delay_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, decrWithDefault, set",
         test_delay_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, decr, delay, add",
         test_delay_decr_delay_add,
         test_setup, teardown, NULL},
        {"delay, decr, delay, append",
         test_delay_decr_delay_append,
         test_setup, teardown, NULL},
        {"delay, decr, delay, decr",
         test_delay_decr_delay_decr,
         test_setup, teardown, NULL},
        {"delay, decr, delay, decrWithDefault",
         test_delay_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, delay, delay",
         test_delay_decr_delay_delay,
         test_setup, teardown, NULL},
        {"delay, decr, delay, delete",
         test_delay_decr_delay_delete,
         test_setup, teardown, NULL},
        {"delay, decr, delay, flush",
         test_delay_decr_delay_flush,
         test_setup, teardown, NULL},
        {"delay, decr, delay, incr",
         test_delay_decr_delay_incr,
         test_setup, teardown, NULL},
        {"delay, decr, delay, incrWithDefault",
         test_delay_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, delay, prepend",
         test_delay_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, delay, set",
         test_delay_decr_delay_set,
         test_setup, teardown, NULL},
        {"delay, decr, delete, add",
         test_delay_decr_delete_add,
         test_setup, teardown, NULL},
        {"delay, decr, delete, append",
         test_delay_decr_delete_append,
         test_setup, teardown, NULL},
        {"delay, decr, delete, decr",
         test_delay_decr_delete_decr,
         test_setup, teardown, NULL},
        {"delay, decr, delete, decrWithDefault",
         test_delay_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, delete, delay",
         test_delay_decr_delete_delay,
         test_setup, teardown, NULL},
        {"delay, decr, delete, delete",
         test_delay_decr_delete_delete,
         test_setup, teardown, NULL},
        {"delay, decr, delete, flush",
         test_delay_decr_delete_flush,
         test_setup, teardown, NULL},
        {"delay, decr, delete, incr",
         test_delay_decr_delete_incr,
         test_setup, teardown, NULL},
        {"delay, decr, delete, incrWithDefault",
         test_delay_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, delete, prepend",
         test_delay_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, delete, set",
         test_delay_decr_delete_set,
         test_setup, teardown, NULL},
        {"delay, decr, flush, add",
         test_delay_decr_flush_add,
         test_setup, teardown, NULL},
        {"delay, decr, flush, append",
         test_delay_decr_flush_append,
         test_setup, teardown, NULL},
        {"delay, decr, flush, decr",
         test_delay_decr_flush_decr,
         test_setup, teardown, NULL},
        {"delay, decr, flush, decrWithDefault",
         test_delay_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, flush, delay",
         test_delay_decr_flush_delay,
         test_setup, teardown, NULL},
        {"delay, decr, flush, delete",
         test_delay_decr_flush_delete,
         test_setup, teardown, NULL},
        {"delay, decr, flush, flush",
         test_delay_decr_flush_flush,
         test_setup, teardown, NULL},
        {"delay, decr, flush, incr",
         test_delay_decr_flush_incr,
         test_setup, teardown, NULL},
        {"delay, decr, flush, incrWithDefault",
         test_delay_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, flush, prepend",
         test_delay_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, flush, set",
         test_delay_decr_flush_set,
         test_setup, teardown, NULL},
        {"delay, decr, incr, add",
         test_delay_decr_incr_add,
         test_setup, teardown, NULL},
        {"delay, decr, incr, append",
         test_delay_decr_incr_append,
         test_setup, teardown, NULL},
        {"delay, decr, incr, decr",
         test_delay_decr_incr_decr,
         test_setup, teardown, NULL},
        {"delay, decr, incr, decrWithDefault",
         test_delay_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, incr, delay",
         test_delay_decr_incr_delay,
         test_setup, teardown, NULL},
        {"delay, decr, incr, delete",
         test_delay_decr_incr_delete,
         test_setup, teardown, NULL},
        {"delay, decr, incr, flush",
         test_delay_decr_incr_flush,
         test_setup, teardown, NULL},
        {"delay, decr, incr, incr",
         test_delay_decr_incr_incr,
         test_setup, teardown, NULL},
        {"delay, decr, incr, incrWithDefault",
         test_delay_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, incr, prepend",
         test_delay_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, incr, set",
         test_delay_decr_incr_set,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, add",
         test_delay_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, append",
         test_delay_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, decr",
         test_delay_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, decrWithDefault",
         test_delay_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, delay",
         test_delay_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, delete",
         test_delay_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, flush",
         test_delay_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, incr",
         test_delay_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, incrWithDefault",
         test_delay_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, prepend",
         test_delay_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, incrWithDefault, set",
         test_delay_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, add",
         test_delay_decr_prepend_add,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, append",
         test_delay_decr_prepend_append,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, decr",
         test_delay_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, decrWithDefault",
         test_delay_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, delay",
         test_delay_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, delete",
         test_delay_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, flush",
         test_delay_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, incr",
         test_delay_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, incrWithDefault",
         test_delay_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, prepend",
         test_delay_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, prepend, set",
         test_delay_decr_prepend_set,
         test_setup, teardown, NULL},
        {"delay, decr, set, add",
         test_delay_decr_set_add,
         test_setup, teardown, NULL},
        {"delay, decr, set, append",
         test_delay_decr_set_append,
         test_setup, teardown, NULL},
        {"delay, decr, set, decr",
         test_delay_decr_set_decr,
         test_setup, teardown, NULL},
        {"delay, decr, set, decrWithDefault",
         test_delay_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, set, delay",
         test_delay_decr_set_delay,
         test_setup, teardown, NULL},
        {"delay, decr, set, delete",
         test_delay_decr_set_delete,
         test_setup, teardown, NULL},
        {"delay, decr, set, flush",
         test_delay_decr_set_flush,
         test_setup, teardown, NULL},
        {"delay, decr, set, incr",
         test_delay_decr_set_incr,
         test_setup, teardown, NULL},
        {"delay, decr, set, incrWithDefault",
         test_delay_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decr, set, prepend",
         test_delay_decr_set_prepend,
         test_setup, teardown, NULL},
        {"delay, decr, set, set",
         test_delay_decr_set_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, add",
         test_delay_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, append",
         test_delay_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, decr",
         test_delay_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, decrWithDefault",
         test_delay_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, delay",
         test_delay_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, delete",
         test_delay_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, flush",
         test_delay_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, incr",
         test_delay_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, incrWithDefault",
         test_delay_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, prepend",
         test_delay_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, add, set",
         test_delay_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, add",
         test_delay_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, append",
         test_delay_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, decr",
         test_delay_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, decrWithDefault",
         test_delay_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, delay",
         test_delay_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, delete",
         test_delay_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, flush",
         test_delay_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, incr",
         test_delay_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, incrWithDefault",
         test_delay_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, prepend",
         test_delay_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, append, set",
         test_delay_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, add",
         test_delay_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, append",
         test_delay_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, decr",
         test_delay_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, decrWithDefault",
         test_delay_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, delay",
         test_delay_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, delete",
         test_delay_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, flush",
         test_delay_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, incr",
         test_delay_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, incrWithDefault",
         test_delay_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, prepend",
         test_delay_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decr, set",
         test_delay_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, add",
         test_delay_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, append",
         test_delay_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, decr",
         test_delay_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, decrWithDefault",
         test_delay_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, delay",
         test_delay_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, delete",
         test_delay_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, flush",
         test_delay_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, incr",
         test_delay_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, incrWithDefault",
         test_delay_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, prepend",
         test_delay_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, decrWithDefault, set",
         test_delay_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, add",
         test_delay_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, append",
         test_delay_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, decr",
         test_delay_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, decrWithDefault",
         test_delay_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, delay",
         test_delay_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, delete",
         test_delay_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, flush",
         test_delay_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, incr",
         test_delay_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, incrWithDefault",
         test_delay_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, prepend",
         test_delay_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delay, set",
         test_delay_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, add",
         test_delay_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, append",
         test_delay_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, decr",
         test_delay_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, decrWithDefault",
         test_delay_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, delay",
         test_delay_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, delete",
         test_delay_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, flush",
         test_delay_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, incr",
         test_delay_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, incrWithDefault",
         test_delay_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, prepend",
         test_delay_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, delete, set",
         test_delay_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, add",
         test_delay_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, append",
         test_delay_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, decr",
         test_delay_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, decrWithDefault",
         test_delay_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, delay",
         test_delay_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, delete",
         test_delay_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, flush",
         test_delay_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, incr",
         test_delay_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, incrWithDefault",
         test_delay_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, prepend",
         test_delay_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, flush, set",
         test_delay_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, add",
         test_delay_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, append",
         test_delay_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, decr",
         test_delay_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, decrWithDefault",
         test_delay_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, delay",
         test_delay_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, delete",
         test_delay_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, flush",
         test_delay_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, incr",
         test_delay_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, incrWithDefault",
         test_delay_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, prepend",
         test_delay_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incr, set",
         test_delay_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, add",
         test_delay_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, append",
         test_delay_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, decr",
         test_delay_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, decrWithDefault",
         test_delay_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, delay",
         test_delay_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, delete",
         test_delay_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, flush",
         test_delay_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, incr",
         test_delay_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, incrWithDefault",
         test_delay_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, prepend",
         test_delay_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, incrWithDefault, set",
         test_delay_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, add",
         test_delay_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, append",
         test_delay_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, decr",
         test_delay_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, decrWithDefault",
         test_delay_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, delay",
         test_delay_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, delete",
         test_delay_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, flush",
         test_delay_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, incr",
         test_delay_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, incrWithDefault",
         test_delay_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, prepend",
         test_delay_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, prepend, set",
         test_delay_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, add",
         test_delay_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, append",
         test_delay_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, decr",
         test_delay_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, decrWithDefault",
         test_delay_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, delay",
         test_delay_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, delete",
         test_delay_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, flush",
         test_delay_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, incr",
         test_delay_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, incrWithDefault",
         test_delay_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, prepend",
         test_delay_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"delay, decrWithDefault, set, set",
         test_delay_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"delay, delay, add, add",
         test_delay_delay_add_add,
         test_setup, teardown, NULL},
        {"delay, delay, add, append",
         test_delay_delay_add_append,
         test_setup, teardown, NULL},
        {"delay, delay, add, decr",
         test_delay_delay_add_decr,
         test_setup, teardown, NULL},
        {"delay, delay, add, decrWithDefault",
         test_delay_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, add, delay",
         test_delay_delay_add_delay,
         test_setup, teardown, NULL},
        {"delay, delay, add, delete",
         test_delay_delay_add_delete,
         test_setup, teardown, NULL},
        {"delay, delay, add, flush",
         test_delay_delay_add_flush,
         test_setup, teardown, NULL},
        {"delay, delay, add, incr",
         test_delay_delay_add_incr,
         test_setup, teardown, NULL},
        {"delay, delay, add, incrWithDefault",
         test_delay_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, add, prepend",
         test_delay_delay_add_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, add, set",
         test_delay_delay_add_set,
         test_setup, teardown, NULL},
        {"delay, delay, append, add",
         test_delay_delay_append_add,
         test_setup, teardown, NULL},
        {"delay, delay, append, append",
         test_delay_delay_append_append,
         test_setup, teardown, NULL},
        {"delay, delay, append, decr",
         test_delay_delay_append_decr,
         test_setup, teardown, NULL},
        {"delay, delay, append, decrWithDefault",
         test_delay_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, append, delay",
         test_delay_delay_append_delay,
         test_setup, teardown, NULL},
        {"delay, delay, append, delete",
         test_delay_delay_append_delete,
         test_setup, teardown, NULL},
        {"delay, delay, append, flush",
         test_delay_delay_append_flush,
         test_setup, teardown, NULL},
        {"delay, delay, append, incr",
         test_delay_delay_append_incr,
         test_setup, teardown, NULL},
        {"delay, delay, append, incrWithDefault",
         test_delay_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, append, prepend",
         test_delay_delay_append_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, append, set",
         test_delay_delay_append_set,
         test_setup, teardown, NULL},
        {"delay, delay, decr, add",
         test_delay_delay_decr_add,
         test_setup, teardown, NULL},
        {"delay, delay, decr, append",
         test_delay_delay_decr_append,
         test_setup, teardown, NULL},
        {"delay, delay, decr, decr",
         test_delay_delay_decr_decr,
         test_setup, teardown, NULL},
        {"delay, delay, decr, decrWithDefault",
         test_delay_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, decr, delay",
         test_delay_delay_decr_delay,
         test_setup, teardown, NULL},
        {"delay, delay, decr, delete",
         test_delay_delay_decr_delete,
         test_setup, teardown, NULL},
        {"delay, delay, decr, flush",
         test_delay_delay_decr_flush,
         test_setup, teardown, NULL},
        {"delay, delay, decr, incr",
         test_delay_delay_decr_incr,
         test_setup, teardown, NULL},
        {"delay, delay, decr, incrWithDefault",
         test_delay_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, decr, prepend",
         test_delay_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, decr, set",
         test_delay_delay_decr_set,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, add",
         test_delay_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, append",
         test_delay_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, decr",
         test_delay_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, decrWithDefault",
         test_delay_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, delay",
         test_delay_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, delete",
         test_delay_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, flush",
         test_delay_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, incr",
         test_delay_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, incrWithDefault",
         test_delay_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, prepend",
         test_delay_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, decrWithDefault, set",
         test_delay_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, delay, delay, add",
         test_delay_delay_delay_add,
         test_setup, teardown, NULL},
        {"delay, delay, delay, append",
         test_delay_delay_delay_append,
         test_setup, teardown, NULL},
        {"delay, delay, delay, decr",
         test_delay_delay_delay_decr,
         test_setup, teardown, NULL},
        {"delay, delay, delay, decrWithDefault",
         test_delay_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, delay, delete",
         test_delay_delay_delay_delete,
         test_setup, teardown, NULL},
        {"delay, delay, delay, flush",
         test_delay_delay_delay_flush,
         test_setup, teardown, NULL},
        {"delay, delay, delay, incr",
         test_delay_delay_delay_incr,
         test_setup, teardown, NULL},
        {"delay, delay, delay, incrWithDefault",
         test_delay_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, delay, prepend",
         test_delay_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, delay, set",
         test_delay_delay_delay_set,
         test_setup, teardown, NULL},
        {"delay, delay, delete, add",
         test_delay_delay_delete_add,
         test_setup, teardown, NULL},
        {"delay, delay, delete, append",
         test_delay_delay_delete_append,
         test_setup, teardown, NULL},
        {"delay, delay, delete, decr",
         test_delay_delay_delete_decr,
         test_setup, teardown, NULL},
        {"delay, delay, delete, decrWithDefault",
         test_delay_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, delete, delay",
         test_delay_delay_delete_delay,
         test_setup, teardown, NULL},
        {"delay, delay, delete, delete",
         test_delay_delay_delete_delete,
         test_setup, teardown, NULL},
        {"delay, delay, delete, flush",
         test_delay_delay_delete_flush,
         test_setup, teardown, NULL},
        {"delay, delay, delete, incr",
         test_delay_delay_delete_incr,
         test_setup, teardown, NULL},
        {"delay, delay, delete, incrWithDefault",
         test_delay_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, delete, prepend",
         test_delay_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, delete, set",
         test_delay_delay_delete_set,
         test_setup, teardown, NULL},
        {"delay, delay, flush, add",
         test_delay_delay_flush_add,
         test_setup, teardown, NULL},
        {"delay, delay, flush, append",
         test_delay_delay_flush_append,
         test_setup, teardown, NULL},
        {"delay, delay, flush, decr",
         test_delay_delay_flush_decr,
         test_setup, teardown, NULL},
        {"delay, delay, flush, decrWithDefault",
         test_delay_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, flush, delay",
         test_delay_delay_flush_delay,
         test_setup, teardown, NULL},
        {"delay, delay, flush, delete",
         test_delay_delay_flush_delete,
         test_setup, teardown, NULL},
        {"delay, delay, flush, flush",
         test_delay_delay_flush_flush,
         test_setup, teardown, NULL},
        {"delay, delay, flush, incr",
         test_delay_delay_flush_incr,
         test_setup, teardown, NULL},
        {"delay, delay, flush, incrWithDefault",
         test_delay_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, flush, prepend",
         test_delay_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, flush, set",
         test_delay_delay_flush_set,
         test_setup, teardown, NULL},
        {"delay, delay, incr, add",
         test_delay_delay_incr_add,
         test_setup, teardown, NULL},
        {"delay, delay, incr, append",
         test_delay_delay_incr_append,
         test_setup, teardown, NULL},
        {"delay, delay, incr, decr",
         test_delay_delay_incr_decr,
         test_setup, teardown, NULL},
        {"delay, delay, incr, decrWithDefault",
         test_delay_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, incr, delay",
         test_delay_delay_incr_delay,
         test_setup, teardown, NULL},
        {"delay, delay, incr, delete",
         test_delay_delay_incr_delete,
         test_setup, teardown, NULL},
        {"delay, delay, incr, flush",
         test_delay_delay_incr_flush,
         test_setup, teardown, NULL},
        {"delay, delay, incr, incr",
         test_delay_delay_incr_incr,
         test_setup, teardown, NULL},
        {"delay, delay, incr, incrWithDefault",
         test_delay_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, incr, prepend",
         test_delay_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, incr, set",
         test_delay_delay_incr_set,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, add",
         test_delay_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, append",
         test_delay_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, decr",
         test_delay_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, decrWithDefault",
         test_delay_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, delay",
         test_delay_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, delete",
         test_delay_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, flush",
         test_delay_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, incr",
         test_delay_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, incrWithDefault",
         test_delay_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, prepend",
         test_delay_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, incrWithDefault, set",
         test_delay_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, add",
         test_delay_delay_prepend_add,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, append",
         test_delay_delay_prepend_append,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, decr",
         test_delay_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, decrWithDefault",
         test_delay_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, delay",
         test_delay_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, delete",
         test_delay_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, flush",
         test_delay_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, incr",
         test_delay_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, incrWithDefault",
         test_delay_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, prepend",
         test_delay_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, prepend, set",
         test_delay_delay_prepend_set,
         test_setup, teardown, NULL},
        {"delay, delay, set, add",
         test_delay_delay_set_add,
         test_setup, teardown, NULL},
        {"delay, delay, set, append",
         test_delay_delay_set_append,
         test_setup, teardown, NULL},
        {"delay, delay, set, decr",
         test_delay_delay_set_decr,
         test_setup, teardown, NULL},
        {"delay, delay, set, decrWithDefault",
         test_delay_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, set, delay",
         test_delay_delay_set_delay,
         test_setup, teardown, NULL},
        {"delay, delay, set, delete",
         test_delay_delay_set_delete,
         test_setup, teardown, NULL},
        {"delay, delay, set, flush",
         test_delay_delay_set_flush,
         test_setup, teardown, NULL},
        {"delay, delay, set, incr",
         test_delay_delay_set_incr,
         test_setup, teardown, NULL},
        {"delay, delay, set, incrWithDefault",
         test_delay_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delay, set, prepend",
         test_delay_delay_set_prepend,
         test_setup, teardown, NULL},
        {"delay, delay, set, set",
         test_delay_delay_set_set,
         test_setup, teardown, NULL},
        {"delay, delete, add, add",
         test_delay_delete_add_add,
         test_setup, teardown, NULL},
        {"delay, delete, add, append",
         test_delay_delete_add_append,
         test_setup, teardown, NULL},
        {"delay, delete, add, decr",
         test_delay_delete_add_decr,
         test_setup, teardown, NULL},
        {"delay, delete, add, decrWithDefault",
         test_delay_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, add, delay",
         test_delay_delete_add_delay,
         test_setup, teardown, NULL},
        {"delay, delete, add, delete",
         test_delay_delete_add_delete,
         test_setup, teardown, NULL},
        {"delay, delete, add, flush",
         test_delay_delete_add_flush,
         test_setup, teardown, NULL},
        {"delay, delete, add, incr",
         test_delay_delete_add_incr,
         test_setup, teardown, NULL},
        {"delay, delete, add, incrWithDefault",
         test_delay_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, add, prepend",
         test_delay_delete_add_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, add, set",
         test_delay_delete_add_set,
         test_setup, teardown, NULL},
        {"delay, delete, append, add",
         test_delay_delete_append_add,
         test_setup, teardown, NULL},
        {"delay, delete, append, append",
         test_delay_delete_append_append,
         test_setup, teardown, NULL},
        {"delay, delete, append, decr",
         test_delay_delete_append_decr,
         test_setup, teardown, NULL},
        {"delay, delete, append, decrWithDefault",
         test_delay_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, append, delay",
         test_delay_delete_append_delay,
         test_setup, teardown, NULL},
        {"delay, delete, append, delete",
         test_delay_delete_append_delete,
         test_setup, teardown, NULL},
        {"delay, delete, append, flush",
         test_delay_delete_append_flush,
         test_setup, teardown, NULL},
        {"delay, delete, append, incr",
         test_delay_delete_append_incr,
         test_setup, teardown, NULL},
        {"delay, delete, append, incrWithDefault",
         test_delay_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, append, prepend",
         test_delay_delete_append_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, append, set",
         test_delay_delete_append_set,
         test_setup, teardown, NULL},
        {"delay, delete, decr, add",
         test_delay_delete_decr_add,
         test_setup, teardown, NULL},
        {"delay, delete, decr, append",
         test_delay_delete_decr_append,
         test_setup, teardown, NULL},
        {"delay, delete, decr, decr",
         test_delay_delete_decr_decr,
         test_setup, teardown, NULL},
        {"delay, delete, decr, decrWithDefault",
         test_delay_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, decr, delay",
         test_delay_delete_decr_delay,
         test_setup, teardown, NULL},
        {"delay, delete, decr, delete",
         test_delay_delete_decr_delete,
         test_setup, teardown, NULL},
        {"delay, delete, decr, flush",
         test_delay_delete_decr_flush,
         test_setup, teardown, NULL},
        {"delay, delete, decr, incr",
         test_delay_delete_decr_incr,
         test_setup, teardown, NULL},
        {"delay, delete, decr, incrWithDefault",
         test_delay_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, decr, prepend",
         test_delay_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, decr, set",
         test_delay_delete_decr_set,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, add",
         test_delay_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, append",
         test_delay_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, decr",
         test_delay_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, decrWithDefault",
         test_delay_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, delay",
         test_delay_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, delete",
         test_delay_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, flush",
         test_delay_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, incr",
         test_delay_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, incrWithDefault",
         test_delay_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, prepend",
         test_delay_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, decrWithDefault, set",
         test_delay_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, delete, delay, add",
         test_delay_delete_delay_add,
         test_setup, teardown, NULL},
        {"delay, delete, delay, append",
         test_delay_delete_delay_append,
         test_setup, teardown, NULL},
        {"delay, delete, delay, decr",
         test_delay_delete_delay_decr,
         test_setup, teardown, NULL},
        {"delay, delete, delay, decrWithDefault",
         test_delay_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, delay, delay",
         test_delay_delete_delay_delay,
         test_setup, teardown, NULL},
        {"delay, delete, delay, delete",
         test_delay_delete_delay_delete,
         test_setup, teardown, NULL},
        {"delay, delete, delay, flush",
         test_delay_delete_delay_flush,
         test_setup, teardown, NULL},
        {"delay, delete, delay, incr",
         test_delay_delete_delay_incr,
         test_setup, teardown, NULL},
        {"delay, delete, delay, incrWithDefault",
         test_delay_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, delay, prepend",
         test_delay_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, delay, set",
         test_delay_delete_delay_set,
         test_setup, teardown, NULL},
        {"delay, delete, delete, add",
         test_delay_delete_delete_add,
         test_setup, teardown, NULL},
        {"delay, delete, delete, append",
         test_delay_delete_delete_append,
         test_setup, teardown, NULL},
        {"delay, delete, delete, decr",
         test_delay_delete_delete_decr,
         test_setup, teardown, NULL},
        {"delay, delete, delete, decrWithDefault",
         test_delay_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, delete, delay",
         test_delay_delete_delete_delay,
         test_setup, teardown, NULL},
        {"delay, delete, delete, delete",
         test_delay_delete_delete_delete,
         test_setup, teardown, NULL},
        {"delay, delete, delete, flush",
         test_delay_delete_delete_flush,
         test_setup, teardown, NULL},
        {"delay, delete, delete, incr",
         test_delay_delete_delete_incr,
         test_setup, teardown, NULL},
        {"delay, delete, delete, incrWithDefault",
         test_delay_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, delete, prepend",
         test_delay_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, delete, set",
         test_delay_delete_delete_set,
         test_setup, teardown, NULL},
        {"delay, delete, flush, add",
         test_delay_delete_flush_add,
         test_setup, teardown, NULL},
        {"delay, delete, flush, append",
         test_delay_delete_flush_append,
         test_setup, teardown, NULL},
        {"delay, delete, flush, decr",
         test_delay_delete_flush_decr,
         test_setup, teardown, NULL},
        {"delay, delete, flush, decrWithDefault",
         test_delay_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, flush, delay",
         test_delay_delete_flush_delay,
         test_setup, teardown, NULL},
        {"delay, delete, flush, delete",
         test_delay_delete_flush_delete,
         test_setup, teardown, NULL},
        {"delay, delete, flush, flush",
         test_delay_delete_flush_flush,
         test_setup, teardown, NULL},
        {"delay, delete, flush, incr",
         test_delay_delete_flush_incr,
         test_setup, teardown, NULL},
        {"delay, delete, flush, incrWithDefault",
         test_delay_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, flush, prepend",
         test_delay_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, flush, set",
         test_delay_delete_flush_set,
         test_setup, teardown, NULL},
        {"delay, delete, incr, add",
         test_delay_delete_incr_add,
         test_setup, teardown, NULL},
        {"delay, delete, incr, append",
         test_delay_delete_incr_append,
         test_setup, teardown, NULL},
        {"delay, delete, incr, decr",
         test_delay_delete_incr_decr,
         test_setup, teardown, NULL},
        {"delay, delete, incr, decrWithDefault",
         test_delay_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, incr, delay",
         test_delay_delete_incr_delay,
         test_setup, teardown, NULL},
        {"delay, delete, incr, delete",
         test_delay_delete_incr_delete,
         test_setup, teardown, NULL},
        {"delay, delete, incr, flush",
         test_delay_delete_incr_flush,
         test_setup, teardown, NULL},
        {"delay, delete, incr, incr",
         test_delay_delete_incr_incr,
         test_setup, teardown, NULL},
        {"delay, delete, incr, incrWithDefault",
         test_delay_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, incr, prepend",
         test_delay_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, incr, set",
         test_delay_delete_incr_set,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, add",
         test_delay_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, append",
         test_delay_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, decr",
         test_delay_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, decrWithDefault",
         test_delay_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, delay",
         test_delay_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, delete",
         test_delay_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, flush",
         test_delay_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, incr",
         test_delay_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, incrWithDefault",
         test_delay_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, prepend",
         test_delay_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, incrWithDefault, set",
         test_delay_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, add",
         test_delay_delete_prepend_add,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, append",
         test_delay_delete_prepend_append,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, decr",
         test_delay_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, decrWithDefault",
         test_delay_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, delay",
         test_delay_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, delete",
         test_delay_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, flush",
         test_delay_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, incr",
         test_delay_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, incrWithDefault",
         test_delay_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, prepend",
         test_delay_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, prepend, set",
         test_delay_delete_prepend_set,
         test_setup, teardown, NULL},
        {"delay, delete, set, add",
         test_delay_delete_set_add,
         test_setup, teardown, NULL},
        {"delay, delete, set, append",
         test_delay_delete_set_append,
         test_setup, teardown, NULL},
        {"delay, delete, set, decr",
         test_delay_delete_set_decr,
         test_setup, teardown, NULL},
        {"delay, delete, set, decrWithDefault",
         test_delay_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, set, delay",
         test_delay_delete_set_delay,
         test_setup, teardown, NULL},
        {"delay, delete, set, delete",
         test_delay_delete_set_delete,
         test_setup, teardown, NULL},
        {"delay, delete, set, flush",
         test_delay_delete_set_flush,
         test_setup, teardown, NULL},
        {"delay, delete, set, incr",
         test_delay_delete_set_incr,
         test_setup, teardown, NULL},
        {"delay, delete, set, incrWithDefault",
         test_delay_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, delete, set, prepend",
         test_delay_delete_set_prepend,
         test_setup, teardown, NULL},
        {"delay, delete, set, set",
         test_delay_delete_set_set,
         test_setup, teardown, NULL},
        {"delay, flush, add, add",
         test_delay_flush_add_add,
         test_setup, teardown, NULL},
        {"delay, flush, add, append",
         test_delay_flush_add_append,
         test_setup, teardown, NULL},
        {"delay, flush, add, decr",
         test_delay_flush_add_decr,
         test_setup, teardown, NULL},
        {"delay, flush, add, decrWithDefault",
         test_delay_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, add, delay",
         test_delay_flush_add_delay,
         test_setup, teardown, NULL},
        {"delay, flush, add, delete",
         test_delay_flush_add_delete,
         test_setup, teardown, NULL},
        {"delay, flush, add, flush",
         test_delay_flush_add_flush,
         test_setup, teardown, NULL},
        {"delay, flush, add, incr",
         test_delay_flush_add_incr,
         test_setup, teardown, NULL},
        {"delay, flush, add, incrWithDefault",
         test_delay_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, add, prepend",
         test_delay_flush_add_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, add, set",
         test_delay_flush_add_set,
         test_setup, teardown, NULL},
        {"delay, flush, append, add",
         test_delay_flush_append_add,
         test_setup, teardown, NULL},
        {"delay, flush, append, append",
         test_delay_flush_append_append,
         test_setup, teardown, NULL},
        {"delay, flush, append, decr",
         test_delay_flush_append_decr,
         test_setup, teardown, NULL},
        {"delay, flush, append, decrWithDefault",
         test_delay_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, append, delay",
         test_delay_flush_append_delay,
         test_setup, teardown, NULL},
        {"delay, flush, append, delete",
         test_delay_flush_append_delete,
         test_setup, teardown, NULL},
        {"delay, flush, append, flush",
         test_delay_flush_append_flush,
         test_setup, teardown, NULL},
        {"delay, flush, append, incr",
         test_delay_flush_append_incr,
         test_setup, teardown, NULL},
        {"delay, flush, append, incrWithDefault",
         test_delay_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, append, prepend",
         test_delay_flush_append_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, append, set",
         test_delay_flush_append_set,
         test_setup, teardown, NULL},
        {"delay, flush, decr, add",
         test_delay_flush_decr_add,
         test_setup, teardown, NULL},
        {"delay, flush, decr, append",
         test_delay_flush_decr_append,
         test_setup, teardown, NULL},
        {"delay, flush, decr, decr",
         test_delay_flush_decr_decr,
         test_setup, teardown, NULL},
        {"delay, flush, decr, decrWithDefault",
         test_delay_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, decr, delay",
         test_delay_flush_decr_delay,
         test_setup, teardown, NULL},
        {"delay, flush, decr, delete",
         test_delay_flush_decr_delete,
         test_setup, teardown, NULL},
        {"delay, flush, decr, flush",
         test_delay_flush_decr_flush,
         test_setup, teardown, NULL},
        {"delay, flush, decr, incr",
         test_delay_flush_decr_incr,
         test_setup, teardown, NULL},
        {"delay, flush, decr, incrWithDefault",
         test_delay_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, decr, prepend",
         test_delay_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, decr, set",
         test_delay_flush_decr_set,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, add",
         test_delay_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, append",
         test_delay_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, decr",
         test_delay_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, decrWithDefault",
         test_delay_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, delay",
         test_delay_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, delete",
         test_delay_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, flush",
         test_delay_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, incr",
         test_delay_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, incrWithDefault",
         test_delay_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, prepend",
         test_delay_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, decrWithDefault, set",
         test_delay_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, flush, delay, add",
         test_delay_flush_delay_add,
         test_setup, teardown, NULL},
        {"delay, flush, delay, append",
         test_delay_flush_delay_append,
         test_setup, teardown, NULL},
        {"delay, flush, delay, decr",
         test_delay_flush_delay_decr,
         test_setup, teardown, NULL},
        {"delay, flush, delay, decrWithDefault",
         test_delay_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, delay, delay",
         test_delay_flush_delay_delay,
         test_setup, teardown, NULL},
        {"delay, flush, delay, delete",
         test_delay_flush_delay_delete,
         test_setup, teardown, NULL},
        {"delay, flush, delay, flush",
         test_delay_flush_delay_flush,
         test_setup, teardown, NULL},
        {"delay, flush, delay, incr",
         test_delay_flush_delay_incr,
         test_setup, teardown, NULL},
        {"delay, flush, delay, incrWithDefault",
         test_delay_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, delay, prepend",
         test_delay_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, delay, set",
         test_delay_flush_delay_set,
         test_setup, teardown, NULL},
        {"delay, flush, delete, add",
         test_delay_flush_delete_add,
         test_setup, teardown, NULL},
        {"delay, flush, delete, append",
         test_delay_flush_delete_append,
         test_setup, teardown, NULL},
        {"delay, flush, delete, decr",
         test_delay_flush_delete_decr,
         test_setup, teardown, NULL},
        {"delay, flush, delete, decrWithDefault",
         test_delay_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, delete, delay",
         test_delay_flush_delete_delay,
         test_setup, teardown, NULL},
        {"delay, flush, delete, delete",
         test_delay_flush_delete_delete,
         test_setup, teardown, NULL},
        {"delay, flush, delete, flush",
         test_delay_flush_delete_flush,
         test_setup, teardown, NULL},
        {"delay, flush, delete, incr",
         test_delay_flush_delete_incr,
         test_setup, teardown, NULL},
        {"delay, flush, delete, incrWithDefault",
         test_delay_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, delete, prepend",
         test_delay_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, delete, set",
         test_delay_flush_delete_set,
         test_setup, teardown, NULL},
        {"delay, flush, flush, add",
         test_delay_flush_flush_add,
         test_setup, teardown, NULL},
        {"delay, flush, flush, append",
         test_delay_flush_flush_append,
         test_setup, teardown, NULL},
        {"delay, flush, flush, decr",
         test_delay_flush_flush_decr,
         test_setup, teardown, NULL},
        {"delay, flush, flush, decrWithDefault",
         test_delay_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, flush, delay",
         test_delay_flush_flush_delay,
         test_setup, teardown, NULL},
        {"delay, flush, flush, delete",
         test_delay_flush_flush_delete,
         test_setup, teardown, NULL},
        {"delay, flush, flush, flush",
         test_delay_flush_flush_flush,
         test_setup, teardown, NULL},
        {"delay, flush, flush, incr",
         test_delay_flush_flush_incr,
         test_setup, teardown, NULL},
        {"delay, flush, flush, incrWithDefault",
         test_delay_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, flush, prepend",
         test_delay_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, flush, set",
         test_delay_flush_flush_set,
         test_setup, teardown, NULL},
        {"delay, flush, incr, add",
         test_delay_flush_incr_add,
         test_setup, teardown, NULL},
        {"delay, flush, incr, append",
         test_delay_flush_incr_append,
         test_setup, teardown, NULL},
        {"delay, flush, incr, decr",
         test_delay_flush_incr_decr,
         test_setup, teardown, NULL},
        {"delay, flush, incr, decrWithDefault",
         test_delay_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, incr, delay",
         test_delay_flush_incr_delay,
         test_setup, teardown, NULL},
        {"delay, flush, incr, delete",
         test_delay_flush_incr_delete,
         test_setup, teardown, NULL},
        {"delay, flush, incr, flush",
         test_delay_flush_incr_flush,
         test_setup, teardown, NULL},
        {"delay, flush, incr, incr",
         test_delay_flush_incr_incr,
         test_setup, teardown, NULL},
        {"delay, flush, incr, incrWithDefault",
         test_delay_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, incr, prepend",
         test_delay_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, incr, set",
         test_delay_flush_incr_set,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, add",
         test_delay_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, append",
         test_delay_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, decr",
         test_delay_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, decrWithDefault",
         test_delay_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, delay",
         test_delay_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, delete",
         test_delay_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, flush",
         test_delay_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, incr",
         test_delay_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, incrWithDefault",
         test_delay_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, prepend",
         test_delay_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, incrWithDefault, set",
         test_delay_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, add",
         test_delay_flush_prepend_add,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, append",
         test_delay_flush_prepend_append,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, decr",
         test_delay_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, decrWithDefault",
         test_delay_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, delay",
         test_delay_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, delete",
         test_delay_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, flush",
         test_delay_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, incr",
         test_delay_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, incrWithDefault",
         test_delay_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, prepend",
         test_delay_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, prepend, set",
         test_delay_flush_prepend_set,
         test_setup, teardown, NULL},
        {"delay, flush, set, add",
         test_delay_flush_set_add,
         test_setup, teardown, NULL},
        {"delay, flush, set, append",
         test_delay_flush_set_append,
         test_setup, teardown, NULL},
        {"delay, flush, set, decr",
         test_delay_flush_set_decr,
         test_setup, teardown, NULL},
        {"delay, flush, set, decrWithDefault",
         test_delay_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, set, delay",
         test_delay_flush_set_delay,
         test_setup, teardown, NULL},
        {"delay, flush, set, delete",
         test_delay_flush_set_delete,
         test_setup, teardown, NULL},
        {"delay, flush, set, flush",
         test_delay_flush_set_flush,
         test_setup, teardown, NULL},
        {"delay, flush, set, incr",
         test_delay_flush_set_incr,
         test_setup, teardown, NULL},
        {"delay, flush, set, incrWithDefault",
         test_delay_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, flush, set, prepend",
         test_delay_flush_set_prepend,
         test_setup, teardown, NULL},
        {"delay, flush, set, set",
         test_delay_flush_set_set,
         test_setup, teardown, NULL},
        {"delay, incr, add, add",
         test_delay_incr_add_add,
         test_setup, teardown, NULL},
        {"delay, incr, add, append",
         test_delay_incr_add_append,
         test_setup, teardown, NULL},
        {"delay, incr, add, decr",
         test_delay_incr_add_decr,
         test_setup, teardown, NULL},
        {"delay, incr, add, decrWithDefault",
         test_delay_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, add, delay",
         test_delay_incr_add_delay,
         test_setup, teardown, NULL},
        {"delay, incr, add, delete",
         test_delay_incr_add_delete,
         test_setup, teardown, NULL},
        {"delay, incr, add, flush",
         test_delay_incr_add_flush,
         test_setup, teardown, NULL},
        {"delay, incr, add, incr",
         test_delay_incr_add_incr,
         test_setup, teardown, NULL},
        {"delay, incr, add, incrWithDefault",
         test_delay_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, add, prepend",
         test_delay_incr_add_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, add, set",
         test_delay_incr_add_set,
         test_setup, teardown, NULL},
        {"delay, incr, append, add",
         test_delay_incr_append_add,
         test_setup, teardown, NULL},
        {"delay, incr, append, append",
         test_delay_incr_append_append,
         test_setup, teardown, NULL},
        {"delay, incr, append, decr",
         test_delay_incr_append_decr,
         test_setup, teardown, NULL},
        {"delay, incr, append, decrWithDefault",
         test_delay_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, append, delay",
         test_delay_incr_append_delay,
         test_setup, teardown, NULL},
        {"delay, incr, append, delete",
         test_delay_incr_append_delete,
         test_setup, teardown, NULL},
        {"delay, incr, append, flush",
         test_delay_incr_append_flush,
         test_setup, teardown, NULL},
        {"delay, incr, append, incr",
         test_delay_incr_append_incr,
         test_setup, teardown, NULL},
        {"delay, incr, append, incrWithDefault",
         test_delay_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, append, prepend",
         test_delay_incr_append_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, append, set",
         test_delay_incr_append_set,
         test_setup, teardown, NULL},
        {"delay, incr, decr, add",
         test_delay_incr_decr_add,
         test_setup, teardown, NULL},
        {"delay, incr, decr, append",
         test_delay_incr_decr_append,
         test_setup, teardown, NULL},
        {"delay, incr, decr, decr",
         test_delay_incr_decr_decr,
         test_setup, teardown, NULL},
        {"delay, incr, decr, decrWithDefault",
         test_delay_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, decr, delay",
         test_delay_incr_decr_delay,
         test_setup, teardown, NULL},
        {"delay, incr, decr, delete",
         test_delay_incr_decr_delete,
         test_setup, teardown, NULL},
        {"delay, incr, decr, flush",
         test_delay_incr_decr_flush,
         test_setup, teardown, NULL},
        {"delay, incr, decr, incr",
         test_delay_incr_decr_incr,
         test_setup, teardown, NULL},
        {"delay, incr, decr, incrWithDefault",
         test_delay_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, decr, prepend",
         test_delay_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, decr, set",
         test_delay_incr_decr_set,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, add",
         test_delay_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, append",
         test_delay_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, decr",
         test_delay_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, decrWithDefault",
         test_delay_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, delay",
         test_delay_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, delete",
         test_delay_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, flush",
         test_delay_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, incr",
         test_delay_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, incrWithDefault",
         test_delay_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, prepend",
         test_delay_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, decrWithDefault, set",
         test_delay_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, incr, delay, add",
         test_delay_incr_delay_add,
         test_setup, teardown, NULL},
        {"delay, incr, delay, append",
         test_delay_incr_delay_append,
         test_setup, teardown, NULL},
        {"delay, incr, delay, decr",
         test_delay_incr_delay_decr,
         test_setup, teardown, NULL},
        {"delay, incr, delay, decrWithDefault",
         test_delay_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, delay, delay",
         test_delay_incr_delay_delay,
         test_setup, teardown, NULL},
        {"delay, incr, delay, delete",
         test_delay_incr_delay_delete,
         test_setup, teardown, NULL},
        {"delay, incr, delay, flush",
         test_delay_incr_delay_flush,
         test_setup, teardown, NULL},
        {"delay, incr, delay, incr",
         test_delay_incr_delay_incr,
         test_setup, teardown, NULL},
        {"delay, incr, delay, incrWithDefault",
         test_delay_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, delay, prepend",
         test_delay_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, delay, set",
         test_delay_incr_delay_set,
         test_setup, teardown, NULL},
        {"delay, incr, delete, add",
         test_delay_incr_delete_add,
         test_setup, teardown, NULL},
        {"delay, incr, delete, append",
         test_delay_incr_delete_append,
         test_setup, teardown, NULL},
        {"delay, incr, delete, decr",
         test_delay_incr_delete_decr,
         test_setup, teardown, NULL},
        {"delay, incr, delete, decrWithDefault",
         test_delay_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, delete, delay",
         test_delay_incr_delete_delay,
         test_setup, teardown, NULL},
        {"delay, incr, delete, delete",
         test_delay_incr_delete_delete,
         test_setup, teardown, NULL},
        {"delay, incr, delete, flush",
         test_delay_incr_delete_flush,
         test_setup, teardown, NULL},
        {"delay, incr, delete, incr",
         test_delay_incr_delete_incr,
         test_setup, teardown, NULL},
        {"delay, incr, delete, incrWithDefault",
         test_delay_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, delete, prepend",
         test_delay_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, delete, set",
         test_delay_incr_delete_set,
         test_setup, teardown, NULL},
        {"delay, incr, flush, add",
         test_delay_incr_flush_add,
         test_setup, teardown, NULL},
        {"delay, incr, flush, append",
         test_delay_incr_flush_append,
         test_setup, teardown, NULL},
        {"delay, incr, flush, decr",
         test_delay_incr_flush_decr,
         test_setup, teardown, NULL},
        {"delay, incr, flush, decrWithDefault",
         test_delay_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, flush, delay",
         test_delay_incr_flush_delay,
         test_setup, teardown, NULL},
        {"delay, incr, flush, delete",
         test_delay_incr_flush_delete,
         test_setup, teardown, NULL},
        {"delay, incr, flush, flush",
         test_delay_incr_flush_flush,
         test_setup, teardown, NULL},
        {"delay, incr, flush, incr",
         test_delay_incr_flush_incr,
         test_setup, teardown, NULL},
        {"delay, incr, flush, incrWithDefault",
         test_delay_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, flush, prepend",
         test_delay_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, flush, set",
         test_delay_incr_flush_set,
         test_setup, teardown, NULL},
        {"delay, incr, incr, add",
         test_delay_incr_incr_add,
         test_setup, teardown, NULL},
        {"delay, incr, incr, append",
         test_delay_incr_incr_append,
         test_setup, teardown, NULL},
        {"delay, incr, incr, decr",
         test_delay_incr_incr_decr,
         test_setup, teardown, NULL},
        {"delay, incr, incr, decrWithDefault",
         test_delay_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, incr, delay",
         test_delay_incr_incr_delay,
         test_setup, teardown, NULL},
        {"delay, incr, incr, delete",
         test_delay_incr_incr_delete,
         test_setup, teardown, NULL},
        {"delay, incr, incr, flush",
         test_delay_incr_incr_flush,
         test_setup, teardown, NULL},
        {"delay, incr, incr, incr",
         test_delay_incr_incr_incr,
         test_setup, teardown, NULL},
        {"delay, incr, incr, incrWithDefault",
         test_delay_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, incr, prepend",
         test_delay_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, incr, set",
         test_delay_incr_incr_set,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, add",
         test_delay_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, append",
         test_delay_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, decr",
         test_delay_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, decrWithDefault",
         test_delay_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, delay",
         test_delay_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, delete",
         test_delay_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, flush",
         test_delay_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, incr",
         test_delay_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, incrWithDefault",
         test_delay_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, prepend",
         test_delay_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, incrWithDefault, set",
         test_delay_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, add",
         test_delay_incr_prepend_add,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, append",
         test_delay_incr_prepend_append,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, decr",
         test_delay_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, decrWithDefault",
         test_delay_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, delay",
         test_delay_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, delete",
         test_delay_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, flush",
         test_delay_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, incr",
         test_delay_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, incrWithDefault",
         test_delay_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, prepend",
         test_delay_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, prepend, set",
         test_delay_incr_prepend_set,
         test_setup, teardown, NULL},
        {"delay, incr, set, add",
         test_delay_incr_set_add,
         test_setup, teardown, NULL},
        {"delay, incr, set, append",
         test_delay_incr_set_append,
         test_setup, teardown, NULL},
        {"delay, incr, set, decr",
         test_delay_incr_set_decr,
         test_setup, teardown, NULL},
        {"delay, incr, set, decrWithDefault",
         test_delay_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, set, delay",
         test_delay_incr_set_delay,
         test_setup, teardown, NULL},
        {"delay, incr, set, delete",
         test_delay_incr_set_delete,
         test_setup, teardown, NULL},
        {"delay, incr, set, flush",
         test_delay_incr_set_flush,
         test_setup, teardown, NULL},
        {"delay, incr, set, incr",
         test_delay_incr_set_incr,
         test_setup, teardown, NULL},
        {"delay, incr, set, incrWithDefault",
         test_delay_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incr, set, prepend",
         test_delay_incr_set_prepend,
         test_setup, teardown, NULL},
        {"delay, incr, set, set",
         test_delay_incr_set_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, add",
         test_delay_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, append",
         test_delay_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, decr",
         test_delay_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, decrWithDefault",
         test_delay_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, delay",
         test_delay_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, delete",
         test_delay_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, flush",
         test_delay_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, incr",
         test_delay_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, incrWithDefault",
         test_delay_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, prepend",
         test_delay_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, add, set",
         test_delay_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, add",
         test_delay_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, append",
         test_delay_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, decr",
         test_delay_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, decrWithDefault",
         test_delay_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, delay",
         test_delay_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, delete",
         test_delay_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, flush",
         test_delay_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, incr",
         test_delay_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, incrWithDefault",
         test_delay_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, prepend",
         test_delay_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, append, set",
         test_delay_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, add",
         test_delay_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, append",
         test_delay_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, decr",
         test_delay_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, decrWithDefault",
         test_delay_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, delay",
         test_delay_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, delete",
         test_delay_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, flush",
         test_delay_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, incr",
         test_delay_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, incrWithDefault",
         test_delay_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, prepend",
         test_delay_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decr, set",
         test_delay_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, add",
         test_delay_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, append",
         test_delay_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, decr",
         test_delay_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, decrWithDefault",
         test_delay_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, delay",
         test_delay_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, delete",
         test_delay_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, flush",
         test_delay_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, incr",
         test_delay_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, incrWithDefault",
         test_delay_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, prepend",
         test_delay_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, decrWithDefault, set",
         test_delay_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, add",
         test_delay_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, append",
         test_delay_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, decr",
         test_delay_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, decrWithDefault",
         test_delay_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, delay",
         test_delay_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, delete",
         test_delay_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, flush",
         test_delay_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, incr",
         test_delay_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, incrWithDefault",
         test_delay_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, prepend",
         test_delay_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delay, set",
         test_delay_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, add",
         test_delay_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, append",
         test_delay_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, decr",
         test_delay_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, decrWithDefault",
         test_delay_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, delay",
         test_delay_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, delete",
         test_delay_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, flush",
         test_delay_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, incr",
         test_delay_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, incrWithDefault",
         test_delay_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, prepend",
         test_delay_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, delete, set",
         test_delay_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, add",
         test_delay_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, append",
         test_delay_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, decr",
         test_delay_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, decrWithDefault",
         test_delay_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, delay",
         test_delay_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, delete",
         test_delay_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, flush",
         test_delay_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, incr",
         test_delay_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, incrWithDefault",
         test_delay_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, prepend",
         test_delay_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, flush, set",
         test_delay_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, add",
         test_delay_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, append",
         test_delay_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, decr",
         test_delay_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, decrWithDefault",
         test_delay_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, delay",
         test_delay_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, delete",
         test_delay_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, flush",
         test_delay_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, incr",
         test_delay_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, incrWithDefault",
         test_delay_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, prepend",
         test_delay_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incr, set",
         test_delay_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, add",
         test_delay_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, append",
         test_delay_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, decr",
         test_delay_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, decrWithDefault",
         test_delay_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, delay",
         test_delay_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, delete",
         test_delay_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, flush",
         test_delay_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, incr",
         test_delay_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, incrWithDefault",
         test_delay_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, prepend",
         test_delay_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, incrWithDefault, set",
         test_delay_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, add",
         test_delay_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, append",
         test_delay_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, decr",
         test_delay_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, decrWithDefault",
         test_delay_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, delay",
         test_delay_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, delete",
         test_delay_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, flush",
         test_delay_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, incr",
         test_delay_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, incrWithDefault",
         test_delay_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, prepend",
         test_delay_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, prepend, set",
         test_delay_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, add",
         test_delay_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, append",
         test_delay_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, decr",
         test_delay_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, decrWithDefault",
         test_delay_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, delay",
         test_delay_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, delete",
         test_delay_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, flush",
         test_delay_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, incr",
         test_delay_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, incrWithDefault",
         test_delay_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, prepend",
         test_delay_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"delay, incrWithDefault, set, set",
         test_delay_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"delay, prepend, add, add",
         test_delay_prepend_add_add,
         test_setup, teardown, NULL},
        {"delay, prepend, add, append",
         test_delay_prepend_add_append,
         test_setup, teardown, NULL},
        {"delay, prepend, add, decr",
         test_delay_prepend_add_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, add, decrWithDefault",
         test_delay_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, add, delay",
         test_delay_prepend_add_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, add, delete",
         test_delay_prepend_add_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, add, flush",
         test_delay_prepend_add_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, add, incr",
         test_delay_prepend_add_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, add, incrWithDefault",
         test_delay_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, add, prepend",
         test_delay_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, add, set",
         test_delay_prepend_add_set,
         test_setup, teardown, NULL},
        {"delay, prepend, append, add",
         test_delay_prepend_append_add,
         test_setup, teardown, NULL},
        {"delay, prepend, append, append",
         test_delay_prepend_append_append,
         test_setup, teardown, NULL},
        {"delay, prepend, append, decr",
         test_delay_prepend_append_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, append, decrWithDefault",
         test_delay_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, append, delay",
         test_delay_prepend_append_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, append, delete",
         test_delay_prepend_append_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, append, flush",
         test_delay_prepend_append_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, append, incr",
         test_delay_prepend_append_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, append, incrWithDefault",
         test_delay_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, append, prepend",
         test_delay_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, append, set",
         test_delay_prepend_append_set,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, add",
         test_delay_prepend_decr_add,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, append",
         test_delay_prepend_decr_append,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, decr",
         test_delay_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, decrWithDefault",
         test_delay_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, delay",
         test_delay_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, delete",
         test_delay_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, flush",
         test_delay_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, incr",
         test_delay_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, incrWithDefault",
         test_delay_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, prepend",
         test_delay_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, decr, set",
         test_delay_prepend_decr_set,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, add",
         test_delay_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, append",
         test_delay_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, decr",
         test_delay_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, decrWithDefault",
         test_delay_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, delay",
         test_delay_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, delete",
         test_delay_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, flush",
         test_delay_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, incr",
         test_delay_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, incrWithDefault",
         test_delay_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, prepend",
         test_delay_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, decrWithDefault, set",
         test_delay_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, add",
         test_delay_prepend_delay_add,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, append",
         test_delay_prepend_delay_append,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, decr",
         test_delay_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, decrWithDefault",
         test_delay_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, delay",
         test_delay_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, delete",
         test_delay_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, flush",
         test_delay_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, incr",
         test_delay_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, incrWithDefault",
         test_delay_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, prepend",
         test_delay_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, delay, set",
         test_delay_prepend_delay_set,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, add",
         test_delay_prepend_delete_add,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, append",
         test_delay_prepend_delete_append,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, decr",
         test_delay_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, decrWithDefault",
         test_delay_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, delay",
         test_delay_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, delete",
         test_delay_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, flush",
         test_delay_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, incr",
         test_delay_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, incrWithDefault",
         test_delay_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, prepend",
         test_delay_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, delete, set",
         test_delay_prepend_delete_set,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, add",
         test_delay_prepend_flush_add,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, append",
         test_delay_prepend_flush_append,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, decr",
         test_delay_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, decrWithDefault",
         test_delay_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, delay",
         test_delay_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, delete",
         test_delay_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, flush",
         test_delay_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, incr",
         test_delay_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, incrWithDefault",
         test_delay_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, prepend",
         test_delay_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, flush, set",
         test_delay_prepend_flush_set,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, add",
         test_delay_prepend_incr_add,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, append",
         test_delay_prepend_incr_append,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, decr",
         test_delay_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, decrWithDefault",
         test_delay_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, delay",
         test_delay_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, delete",
         test_delay_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, flush",
         test_delay_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, incr",
         test_delay_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, incrWithDefault",
         test_delay_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, prepend",
         test_delay_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, incr, set",
         test_delay_prepend_incr_set,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, add",
         test_delay_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, append",
         test_delay_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, decr",
         test_delay_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, decrWithDefault",
         test_delay_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, delay",
         test_delay_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, delete",
         test_delay_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, flush",
         test_delay_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, incr",
         test_delay_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, incrWithDefault",
         test_delay_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, prepend",
         test_delay_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, incrWithDefault, set",
         test_delay_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, add",
         test_delay_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, append",
         test_delay_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, decr",
         test_delay_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, decrWithDefault",
         test_delay_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, delay",
         test_delay_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, delete",
         test_delay_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, flush",
         test_delay_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, incr",
         test_delay_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, incrWithDefault",
         test_delay_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, prepend",
         test_delay_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, prepend, set",
         test_delay_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"delay, prepend, set, add",
         test_delay_prepend_set_add,
         test_setup, teardown, NULL},
        {"delay, prepend, set, append",
         test_delay_prepend_set_append,
         test_setup, teardown, NULL},
        {"delay, prepend, set, decr",
         test_delay_prepend_set_decr,
         test_setup, teardown, NULL},
        {"delay, prepend, set, decrWithDefault",
         test_delay_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, set, delay",
         test_delay_prepend_set_delay,
         test_setup, teardown, NULL},
        {"delay, prepend, set, delete",
         test_delay_prepend_set_delete,
         test_setup, teardown, NULL},
        {"delay, prepend, set, flush",
         test_delay_prepend_set_flush,
         test_setup, teardown, NULL},
        {"delay, prepend, set, incr",
         test_delay_prepend_set_incr,
         test_setup, teardown, NULL},
        {"delay, prepend, set, incrWithDefault",
         test_delay_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, prepend, set, prepend",
         test_delay_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"delay, prepend, set, set",
         test_delay_prepend_set_set,
         test_setup, teardown, NULL},
        {"delay, set, add, add",
         test_delay_set_add_add,
         test_setup, teardown, NULL},
        {"delay, set, add, append",
         test_delay_set_add_append,
         test_setup, teardown, NULL},
        {"delay, set, add, decr",
         test_delay_set_add_decr,
         test_setup, teardown, NULL},
        {"delay, set, add, decrWithDefault",
         test_delay_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, add, delay",
         test_delay_set_add_delay,
         test_setup, teardown, NULL},
        {"delay, set, add, delete",
         test_delay_set_add_delete,
         test_setup, teardown, NULL},
        {"delay, set, add, flush",
         test_delay_set_add_flush,
         test_setup, teardown, NULL},
        {"delay, set, add, incr",
         test_delay_set_add_incr,
         test_setup, teardown, NULL},
        {"delay, set, add, incrWithDefault",
         test_delay_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, add, prepend",
         test_delay_set_add_prepend,
         test_setup, teardown, NULL},
        {"delay, set, add, set",
         test_delay_set_add_set,
         test_setup, teardown, NULL},
        {"delay, set, append, add",
         test_delay_set_append_add,
         test_setup, teardown, NULL},
        {"delay, set, append, append",
         test_delay_set_append_append,
         test_setup, teardown, NULL},
        {"delay, set, append, decr",
         test_delay_set_append_decr,
         test_setup, teardown, NULL},
        {"delay, set, append, decrWithDefault",
         test_delay_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, append, delay",
         test_delay_set_append_delay,
         test_setup, teardown, NULL},
        {"delay, set, append, delete",
         test_delay_set_append_delete,
         test_setup, teardown, NULL},
        {"delay, set, append, flush",
         test_delay_set_append_flush,
         test_setup, teardown, NULL},
        {"delay, set, append, incr",
         test_delay_set_append_incr,
         test_setup, teardown, NULL},
        {"delay, set, append, incrWithDefault",
         test_delay_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, append, prepend",
         test_delay_set_append_prepend,
         test_setup, teardown, NULL},
        {"delay, set, append, set",
         test_delay_set_append_set,
         test_setup, teardown, NULL},
        {"delay, set, decr, add",
         test_delay_set_decr_add,
         test_setup, teardown, NULL},
        {"delay, set, decr, append",
         test_delay_set_decr_append,
         test_setup, teardown, NULL},
        {"delay, set, decr, decr",
         test_delay_set_decr_decr,
         test_setup, teardown, NULL},
        {"delay, set, decr, decrWithDefault",
         test_delay_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, decr, delay",
         test_delay_set_decr_delay,
         test_setup, teardown, NULL},
        {"delay, set, decr, delete",
         test_delay_set_decr_delete,
         test_setup, teardown, NULL},
        {"delay, set, decr, flush",
         test_delay_set_decr_flush,
         test_setup, teardown, NULL},
        {"delay, set, decr, incr",
         test_delay_set_decr_incr,
         test_setup, teardown, NULL},
        {"delay, set, decr, incrWithDefault",
         test_delay_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, decr, prepend",
         test_delay_set_decr_prepend,
         test_setup, teardown, NULL},
        {"delay, set, decr, set",
         test_delay_set_decr_set,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, add",
         test_delay_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, append",
         test_delay_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, decr",
         test_delay_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, decrWithDefault",
         test_delay_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, delay",
         test_delay_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, delete",
         test_delay_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, flush",
         test_delay_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, incr",
         test_delay_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, incrWithDefault",
         test_delay_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, prepend",
         test_delay_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, set, decrWithDefault, set",
         test_delay_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, set, delay, add",
         test_delay_set_delay_add,
         test_setup, teardown, NULL},
        {"delay, set, delay, append",
         test_delay_set_delay_append,
         test_setup, teardown, NULL},
        {"delay, set, delay, decr",
         test_delay_set_delay_decr,
         test_setup, teardown, NULL},
        {"delay, set, delay, decrWithDefault",
         test_delay_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, delay, delay",
         test_delay_set_delay_delay,
         test_setup, teardown, NULL},
        {"delay, set, delay, delete",
         test_delay_set_delay_delete,
         test_setup, teardown, NULL},
        {"delay, set, delay, flush",
         test_delay_set_delay_flush,
         test_setup, teardown, NULL},
        {"delay, set, delay, incr",
         test_delay_set_delay_incr,
         test_setup, teardown, NULL},
        {"delay, set, delay, incrWithDefault",
         test_delay_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, delay, prepend",
         test_delay_set_delay_prepend,
         test_setup, teardown, NULL},
        {"delay, set, delay, set",
         test_delay_set_delay_set,
         test_setup, teardown, NULL},
        {"delay, set, delete, add",
         test_delay_set_delete_add,
         test_setup, teardown, NULL},
        {"delay, set, delete, append",
         test_delay_set_delete_append,
         test_setup, teardown, NULL},
        {"delay, set, delete, decr",
         test_delay_set_delete_decr,
         test_setup, teardown, NULL},
        {"delay, set, delete, decrWithDefault",
         test_delay_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, delete, delay",
         test_delay_set_delete_delay,
         test_setup, teardown, NULL},
        {"delay, set, delete, delete",
         test_delay_set_delete_delete,
         test_setup, teardown, NULL},
        {"delay, set, delete, flush",
         test_delay_set_delete_flush,
         test_setup, teardown, NULL},
        {"delay, set, delete, incr",
         test_delay_set_delete_incr,
         test_setup, teardown, NULL},
        {"delay, set, delete, incrWithDefault",
         test_delay_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, delete, prepend",
         test_delay_set_delete_prepend,
         test_setup, teardown, NULL},
        {"delay, set, delete, set",
         test_delay_set_delete_set,
         test_setup, teardown, NULL},
        {"delay, set, flush, add",
         test_delay_set_flush_add,
         test_setup, teardown, NULL},
        {"delay, set, flush, append",
         test_delay_set_flush_append,
         test_setup, teardown, NULL},
        {"delay, set, flush, decr",
         test_delay_set_flush_decr,
         test_setup, teardown, NULL},
        {"delay, set, flush, decrWithDefault",
         test_delay_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, flush, delay",
         test_delay_set_flush_delay,
         test_setup, teardown, NULL},
        {"delay, set, flush, delete",
         test_delay_set_flush_delete,
         test_setup, teardown, NULL},
        {"delay, set, flush, flush",
         test_delay_set_flush_flush,
         test_setup, teardown, NULL},
        {"delay, set, flush, incr",
         test_delay_set_flush_incr,
         test_setup, teardown, NULL},
        {"delay, set, flush, incrWithDefault",
         test_delay_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, flush, prepend",
         test_delay_set_flush_prepend,
         test_setup, teardown, NULL},
        {"delay, set, flush, set",
         test_delay_set_flush_set,
         test_setup, teardown, NULL},
        {"delay, set, incr, add",
         test_delay_set_incr_add,
         test_setup, teardown, NULL},
        {"delay, set, incr, append",
         test_delay_set_incr_append,
         test_setup, teardown, NULL},
        {"delay, set, incr, decr",
         test_delay_set_incr_decr,
         test_setup, teardown, NULL},
        {"delay, set, incr, decrWithDefault",
         test_delay_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, incr, delay",
         test_delay_set_incr_delay,
         test_setup, teardown, NULL},
        {"delay, set, incr, delete",
         test_delay_set_incr_delete,
         test_setup, teardown, NULL},
        {"delay, set, incr, flush",
         test_delay_set_incr_flush,
         test_setup, teardown, NULL},
        {"delay, set, incr, incr",
         test_delay_set_incr_incr,
         test_setup, teardown, NULL},
        {"delay, set, incr, incrWithDefault",
         test_delay_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, incr, prepend",
         test_delay_set_incr_prepend,
         test_setup, teardown, NULL},
        {"delay, set, incr, set",
         test_delay_set_incr_set,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, add",
         test_delay_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, append",
         test_delay_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, decr",
         test_delay_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, decrWithDefault",
         test_delay_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, delay",
         test_delay_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, delete",
         test_delay_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, flush",
         test_delay_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, incr",
         test_delay_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, incrWithDefault",
         test_delay_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, prepend",
         test_delay_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delay, set, incrWithDefault, set",
         test_delay_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delay, set, prepend, add",
         test_delay_set_prepend_add,
         test_setup, teardown, NULL},
        {"delay, set, prepend, append",
         test_delay_set_prepend_append,
         test_setup, teardown, NULL},
        {"delay, set, prepend, decr",
         test_delay_set_prepend_decr,
         test_setup, teardown, NULL},
        {"delay, set, prepend, decrWithDefault",
         test_delay_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, prepend, delay",
         test_delay_set_prepend_delay,
         test_setup, teardown, NULL},
        {"delay, set, prepend, delete",
         test_delay_set_prepend_delete,
         test_setup, teardown, NULL},
        {"delay, set, prepend, flush",
         test_delay_set_prepend_flush,
         test_setup, teardown, NULL},
        {"delay, set, prepend, incr",
         test_delay_set_prepend_incr,
         test_setup, teardown, NULL},
        {"delay, set, prepend, incrWithDefault",
         test_delay_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, prepend, prepend",
         test_delay_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"delay, set, prepend, set",
         test_delay_set_prepend_set,
         test_setup, teardown, NULL},
        {"delay, set, set, add",
         test_delay_set_set_add,
         test_setup, teardown, NULL},
        {"delay, set, set, append",
         test_delay_set_set_append,
         test_setup, teardown, NULL},
        {"delay, set, set, decr",
         test_delay_set_set_decr,
         test_setup, teardown, NULL},
        {"delay, set, set, decrWithDefault",
         test_delay_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, set, delay",
         test_delay_set_set_delay,
         test_setup, teardown, NULL},
        {"delay, set, set, delete",
         test_delay_set_set_delete,
         test_setup, teardown, NULL},
        {"delay, set, set, flush",
         test_delay_set_set_flush,
         test_setup, teardown, NULL},
        {"delay, set, set, incr",
         test_delay_set_set_incr,
         test_setup, teardown, NULL},
        {"delay, set, set, incrWithDefault",
         test_delay_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delay, set, set, prepend",
         test_delay_set_set_prepend,
         test_setup, teardown, NULL},
        {"delay, set, set, set",
         test_delay_set_set_set,
         test_setup, teardown, NULL},
        {"delete, add, add, add",
         test_delete_add_add_add,
         test_setup, teardown, NULL},
        {"delete, add, add, append",
         test_delete_add_add_append,
         test_setup, teardown, NULL},
        {"delete, add, add, decr",
         test_delete_add_add_decr,
         test_setup, teardown, NULL},
        {"delete, add, add, decrWithDefault",
         test_delete_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, add, delay",
         test_delete_add_add_delay,
         test_setup, teardown, NULL},
        {"delete, add, add, delete",
         test_delete_add_add_delete,
         test_setup, teardown, NULL},
        {"delete, add, add, flush",
         test_delete_add_add_flush,
         test_setup, teardown, NULL},
        {"delete, add, add, incr",
         test_delete_add_add_incr,
         test_setup, teardown, NULL},
        {"delete, add, add, incrWithDefault",
         test_delete_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, add, prepend",
         test_delete_add_add_prepend,
         test_setup, teardown, NULL},
        {"delete, add, add, set",
         test_delete_add_add_set,
         test_setup, teardown, NULL},
        {"delete, add, append, add",
         test_delete_add_append_add,
         test_setup, teardown, NULL},
        {"delete, add, append, append",
         test_delete_add_append_append,
         test_setup, teardown, NULL},
        {"delete, add, append, decr",
         test_delete_add_append_decr,
         test_setup, teardown, NULL},
        {"delete, add, append, decrWithDefault",
         test_delete_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, append, delay",
         test_delete_add_append_delay,
         test_setup, teardown, NULL},
        {"delete, add, append, delete",
         test_delete_add_append_delete,
         test_setup, teardown, NULL},
        {"delete, add, append, flush",
         test_delete_add_append_flush,
         test_setup, teardown, NULL},
        {"delete, add, append, incr",
         test_delete_add_append_incr,
         test_setup, teardown, NULL},
        {"delete, add, append, incrWithDefault",
         test_delete_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, append, prepend",
         test_delete_add_append_prepend,
         test_setup, teardown, NULL},
        {"delete, add, append, set",
         test_delete_add_append_set,
         test_setup, teardown, NULL},
        {"delete, add, decr, add",
         test_delete_add_decr_add,
         test_setup, teardown, NULL},
        {"delete, add, decr, append",
         test_delete_add_decr_append,
         test_setup, teardown, NULL},
        {"delete, add, decr, decr",
         test_delete_add_decr_decr,
         test_setup, teardown, NULL},
        {"delete, add, decr, decrWithDefault",
         test_delete_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, decr, delay",
         test_delete_add_decr_delay,
         test_setup, teardown, NULL},
        {"delete, add, decr, delete",
         test_delete_add_decr_delete,
         test_setup, teardown, NULL},
        {"delete, add, decr, flush",
         test_delete_add_decr_flush,
         test_setup, teardown, NULL},
        {"delete, add, decr, incr",
         test_delete_add_decr_incr,
         test_setup, teardown, NULL},
        {"delete, add, decr, incrWithDefault",
         test_delete_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, decr, prepend",
         test_delete_add_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, add, decr, set",
         test_delete_add_decr_set,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, add",
         test_delete_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, append",
         test_delete_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, decr",
         test_delete_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, decrWithDefault",
         test_delete_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, delay",
         test_delete_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, delete",
         test_delete_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, flush",
         test_delete_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, incr",
         test_delete_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, incrWithDefault",
         test_delete_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, prepend",
         test_delete_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, add, decrWithDefault, set",
         test_delete_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, add, delay, add",
         test_delete_add_delay_add,
         test_setup, teardown, NULL},
        {"delete, add, delay, append",
         test_delete_add_delay_append,
         test_setup, teardown, NULL},
        {"delete, add, delay, decr",
         test_delete_add_delay_decr,
         test_setup, teardown, NULL},
        {"delete, add, delay, decrWithDefault",
         test_delete_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, delay, delay",
         test_delete_add_delay_delay,
         test_setup, teardown, NULL},
        {"delete, add, delay, delete",
         test_delete_add_delay_delete,
         test_setup, teardown, NULL},
        {"delete, add, delay, flush",
         test_delete_add_delay_flush,
         test_setup, teardown, NULL},
        {"delete, add, delay, incr",
         test_delete_add_delay_incr,
         test_setup, teardown, NULL},
        {"delete, add, delay, incrWithDefault",
         test_delete_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, delay, prepend",
         test_delete_add_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, add, delay, set",
         test_delete_add_delay_set,
         test_setup, teardown, NULL},
        {"delete, add, delete, add",
         test_delete_add_delete_add,
         test_setup, teardown, NULL},
        {"delete, add, delete, append",
         test_delete_add_delete_append,
         test_setup, teardown, NULL},
        {"delete, add, delete, decr",
         test_delete_add_delete_decr,
         test_setup, teardown, NULL},
        {"delete, add, delete, decrWithDefault",
         test_delete_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, delete, delay",
         test_delete_add_delete_delay,
         test_setup, teardown, NULL},
        {"delete, add, delete, delete",
         test_delete_add_delete_delete,
         test_setup, teardown, NULL},
        {"delete, add, delete, flush",
         test_delete_add_delete_flush,
         test_setup, teardown, NULL},
        {"delete, add, delete, incr",
         test_delete_add_delete_incr,
         test_setup, teardown, NULL},
        {"delete, add, delete, incrWithDefault",
         test_delete_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, delete, prepend",
         test_delete_add_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, add, delete, set",
         test_delete_add_delete_set,
         test_setup, teardown, NULL},
        {"delete, add, flush, add",
         test_delete_add_flush_add,
         test_setup, teardown, NULL},
        {"delete, add, flush, append",
         test_delete_add_flush_append,
         test_setup, teardown, NULL},
        {"delete, add, flush, decr",
         test_delete_add_flush_decr,
         test_setup, teardown, NULL},
        {"delete, add, flush, decrWithDefault",
         test_delete_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, flush, delay",
         test_delete_add_flush_delay,
         test_setup, teardown, NULL},
        {"delete, add, flush, delete",
         test_delete_add_flush_delete,
         test_setup, teardown, NULL},
        {"delete, add, flush, flush",
         test_delete_add_flush_flush,
         test_setup, teardown, NULL},
        {"delete, add, flush, incr",
         test_delete_add_flush_incr,
         test_setup, teardown, NULL},
        {"delete, add, flush, incrWithDefault",
         test_delete_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, flush, prepend",
         test_delete_add_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, add, flush, set",
         test_delete_add_flush_set,
         test_setup, teardown, NULL},
        {"delete, add, incr, add",
         test_delete_add_incr_add,
         test_setup, teardown, NULL},
        {"delete, add, incr, append",
         test_delete_add_incr_append,
         test_setup, teardown, NULL},
        {"delete, add, incr, decr",
         test_delete_add_incr_decr,
         test_setup, teardown, NULL},
        {"delete, add, incr, decrWithDefault",
         test_delete_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, incr, delay",
         test_delete_add_incr_delay,
         test_setup, teardown, NULL},
        {"delete, add, incr, delete",
         test_delete_add_incr_delete,
         test_setup, teardown, NULL},
        {"delete, add, incr, flush",
         test_delete_add_incr_flush,
         test_setup, teardown, NULL},
        {"delete, add, incr, incr",
         test_delete_add_incr_incr,
         test_setup, teardown, NULL},
        {"delete, add, incr, incrWithDefault",
         test_delete_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, incr, prepend",
         test_delete_add_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, add, incr, set",
         test_delete_add_incr_set,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, add",
         test_delete_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, append",
         test_delete_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, decr",
         test_delete_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, decrWithDefault",
         test_delete_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, delay",
         test_delete_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, delete",
         test_delete_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, flush",
         test_delete_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, incr",
         test_delete_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, incrWithDefault",
         test_delete_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, prepend",
         test_delete_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, add, incrWithDefault, set",
         test_delete_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, add, prepend, add",
         test_delete_add_prepend_add,
         test_setup, teardown, NULL},
        {"delete, add, prepend, append",
         test_delete_add_prepend_append,
         test_setup, teardown, NULL},
        {"delete, add, prepend, decr",
         test_delete_add_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, add, prepend, decrWithDefault",
         test_delete_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, prepend, delay",
         test_delete_add_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, add, prepend, delete",
         test_delete_add_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, add, prepend, flush",
         test_delete_add_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, add, prepend, incr",
         test_delete_add_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, add, prepend, incrWithDefault",
         test_delete_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, prepend, prepend",
         test_delete_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, add, prepend, set",
         test_delete_add_prepend_set,
         test_setup, teardown, NULL},
        {"delete, add, set, add",
         test_delete_add_set_add,
         test_setup, teardown, NULL},
        {"delete, add, set, append",
         test_delete_add_set_append,
         test_setup, teardown, NULL},
        {"delete, add, set, decr",
         test_delete_add_set_decr,
         test_setup, teardown, NULL},
        {"delete, add, set, decrWithDefault",
         test_delete_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, set, delay",
         test_delete_add_set_delay,
         test_setup, teardown, NULL},
        {"delete, add, set, delete",
         test_delete_add_set_delete,
         test_setup, teardown, NULL},
        {"delete, add, set, flush",
         test_delete_add_set_flush,
         test_setup, teardown, NULL},
        {"delete, add, set, incr",
         test_delete_add_set_incr,
         test_setup, teardown, NULL},
        {"delete, add, set, incrWithDefault",
         test_delete_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, add, set, prepend",
         test_delete_add_set_prepend,
         test_setup, teardown, NULL},
        {"delete, add, set, set",
         test_delete_add_set_set,
         test_setup, teardown, NULL},
        {"delete, append, add, add",
         test_delete_append_add_add,
         test_setup, teardown, NULL},
        {"delete, append, add, append",
         test_delete_append_add_append,
         test_setup, teardown, NULL},
        {"delete, append, add, decr",
         test_delete_append_add_decr,
         test_setup, teardown, NULL},
        {"delete, append, add, decrWithDefault",
         test_delete_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, add, delay",
         test_delete_append_add_delay,
         test_setup, teardown, NULL},
        {"delete, append, add, delete",
         test_delete_append_add_delete,
         test_setup, teardown, NULL},
        {"delete, append, add, flush",
         test_delete_append_add_flush,
         test_setup, teardown, NULL},
        {"delete, append, add, incr",
         test_delete_append_add_incr,
         test_setup, teardown, NULL},
        {"delete, append, add, incrWithDefault",
         test_delete_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, add, prepend",
         test_delete_append_add_prepend,
         test_setup, teardown, NULL},
        {"delete, append, add, set",
         test_delete_append_add_set,
         test_setup, teardown, NULL},
        {"delete, append, append, add",
         test_delete_append_append_add,
         test_setup, teardown, NULL},
        {"delete, append, append, append",
         test_delete_append_append_append,
         test_setup, teardown, NULL},
        {"delete, append, append, decr",
         test_delete_append_append_decr,
         test_setup, teardown, NULL},
        {"delete, append, append, decrWithDefault",
         test_delete_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, append, delay",
         test_delete_append_append_delay,
         test_setup, teardown, NULL},
        {"delete, append, append, delete",
         test_delete_append_append_delete,
         test_setup, teardown, NULL},
        {"delete, append, append, flush",
         test_delete_append_append_flush,
         test_setup, teardown, NULL},
        {"delete, append, append, incr",
         test_delete_append_append_incr,
         test_setup, teardown, NULL},
        {"delete, append, append, incrWithDefault",
         test_delete_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, append, prepend",
         test_delete_append_append_prepend,
         test_setup, teardown, NULL},
        {"delete, append, append, set",
         test_delete_append_append_set,
         test_setup, teardown, NULL},
        {"delete, append, decr, add",
         test_delete_append_decr_add,
         test_setup, teardown, NULL},
        {"delete, append, decr, append",
         test_delete_append_decr_append,
         test_setup, teardown, NULL},
        {"delete, append, decr, decr",
         test_delete_append_decr_decr,
         test_setup, teardown, NULL},
        {"delete, append, decr, decrWithDefault",
         test_delete_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, decr, delay",
         test_delete_append_decr_delay,
         test_setup, teardown, NULL},
        {"delete, append, decr, delete",
         test_delete_append_decr_delete,
         test_setup, teardown, NULL},
        {"delete, append, decr, flush",
         test_delete_append_decr_flush,
         test_setup, teardown, NULL},
        {"delete, append, decr, incr",
         test_delete_append_decr_incr,
         test_setup, teardown, NULL},
        {"delete, append, decr, incrWithDefault",
         test_delete_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, decr, prepend",
         test_delete_append_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, append, decr, set",
         test_delete_append_decr_set,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, add",
         test_delete_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, append",
         test_delete_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, decr",
         test_delete_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, decrWithDefault",
         test_delete_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, delay",
         test_delete_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, delete",
         test_delete_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, flush",
         test_delete_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, incr",
         test_delete_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, incrWithDefault",
         test_delete_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, prepend",
         test_delete_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, append, decrWithDefault, set",
         test_delete_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, append, delay, add",
         test_delete_append_delay_add,
         test_setup, teardown, NULL},
        {"delete, append, delay, append",
         test_delete_append_delay_append,
         test_setup, teardown, NULL},
        {"delete, append, delay, decr",
         test_delete_append_delay_decr,
         test_setup, teardown, NULL},
        {"delete, append, delay, decrWithDefault",
         test_delete_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, delay, delay",
         test_delete_append_delay_delay,
         test_setup, teardown, NULL},
        {"delete, append, delay, delete",
         test_delete_append_delay_delete,
         test_setup, teardown, NULL},
        {"delete, append, delay, flush",
         test_delete_append_delay_flush,
         test_setup, teardown, NULL},
        {"delete, append, delay, incr",
         test_delete_append_delay_incr,
         test_setup, teardown, NULL},
        {"delete, append, delay, incrWithDefault",
         test_delete_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, delay, prepend",
         test_delete_append_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, append, delay, set",
         test_delete_append_delay_set,
         test_setup, teardown, NULL},
        {"delete, append, delete, add",
         test_delete_append_delete_add,
         test_setup, teardown, NULL},
        {"delete, append, delete, append",
         test_delete_append_delete_append,
         test_setup, teardown, NULL},
        {"delete, append, delete, decr",
         test_delete_append_delete_decr,
         test_setup, teardown, NULL},
        {"delete, append, delete, decrWithDefault",
         test_delete_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, delete, delay",
         test_delete_append_delete_delay,
         test_setup, teardown, NULL},
        {"delete, append, delete, delete",
         test_delete_append_delete_delete,
         test_setup, teardown, NULL},
        {"delete, append, delete, flush",
         test_delete_append_delete_flush,
         test_setup, teardown, NULL},
        {"delete, append, delete, incr",
         test_delete_append_delete_incr,
         test_setup, teardown, NULL},
        {"delete, append, delete, incrWithDefault",
         test_delete_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, delete, prepend",
         test_delete_append_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, append, delete, set",
         test_delete_append_delete_set,
         test_setup, teardown, NULL},
        {"delete, append, flush, add",
         test_delete_append_flush_add,
         test_setup, teardown, NULL},
        {"delete, append, flush, append",
         test_delete_append_flush_append,
         test_setup, teardown, NULL},
        {"delete, append, flush, decr",
         test_delete_append_flush_decr,
         test_setup, teardown, NULL},
        {"delete, append, flush, decrWithDefault",
         test_delete_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, flush, delay",
         test_delete_append_flush_delay,
         test_setup, teardown, NULL},
        {"delete, append, flush, delete",
         test_delete_append_flush_delete,
         test_setup, teardown, NULL},
        {"delete, append, flush, flush",
         test_delete_append_flush_flush,
         test_setup, teardown, NULL},
        {"delete, append, flush, incr",
         test_delete_append_flush_incr,
         test_setup, teardown, NULL},
        {"delete, append, flush, incrWithDefault",
         test_delete_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, flush, prepend",
         test_delete_append_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, append, flush, set",
         test_delete_append_flush_set,
         test_setup, teardown, NULL},
        {"delete, append, incr, add",
         test_delete_append_incr_add,
         test_setup, teardown, NULL},
        {"delete, append, incr, append",
         test_delete_append_incr_append,
         test_setup, teardown, NULL},
        {"delete, append, incr, decr",
         test_delete_append_incr_decr,
         test_setup, teardown, NULL},
        {"delete, append, incr, decrWithDefault",
         test_delete_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, incr, delay",
         test_delete_append_incr_delay,
         test_setup, teardown, NULL},
        {"delete, append, incr, delete",
         test_delete_append_incr_delete,
         test_setup, teardown, NULL},
        {"delete, append, incr, flush",
         test_delete_append_incr_flush,
         test_setup, teardown, NULL},
        {"delete, append, incr, incr",
         test_delete_append_incr_incr,
         test_setup, teardown, NULL},
        {"delete, append, incr, incrWithDefault",
         test_delete_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, incr, prepend",
         test_delete_append_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, append, incr, set",
         test_delete_append_incr_set,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, add",
         test_delete_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, append",
         test_delete_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, decr",
         test_delete_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, decrWithDefault",
         test_delete_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, delay",
         test_delete_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, delete",
         test_delete_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, flush",
         test_delete_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, incr",
         test_delete_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, incrWithDefault",
         test_delete_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, prepend",
         test_delete_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, append, incrWithDefault, set",
         test_delete_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, append, prepend, add",
         test_delete_append_prepend_add,
         test_setup, teardown, NULL},
        {"delete, append, prepend, append",
         test_delete_append_prepend_append,
         test_setup, teardown, NULL},
        {"delete, append, prepend, decr",
         test_delete_append_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, append, prepend, decrWithDefault",
         test_delete_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, prepend, delay",
         test_delete_append_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, append, prepend, delete",
         test_delete_append_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, append, prepend, flush",
         test_delete_append_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, append, prepend, incr",
         test_delete_append_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, append, prepend, incrWithDefault",
         test_delete_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, prepend, prepend",
         test_delete_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, append, prepend, set",
         test_delete_append_prepend_set,
         test_setup, teardown, NULL},
        {"delete, append, set, add",
         test_delete_append_set_add,
         test_setup, teardown, NULL},
        {"delete, append, set, append",
         test_delete_append_set_append,
         test_setup, teardown, NULL},
        {"delete, append, set, decr",
         test_delete_append_set_decr,
         test_setup, teardown, NULL},
        {"delete, append, set, decrWithDefault",
         test_delete_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, set, delay",
         test_delete_append_set_delay,
         test_setup, teardown, NULL},
        {"delete, append, set, delete",
         test_delete_append_set_delete,
         test_setup, teardown, NULL},
        {"delete, append, set, flush",
         test_delete_append_set_flush,
         test_setup, teardown, NULL},
        {"delete, append, set, incr",
         test_delete_append_set_incr,
         test_setup, teardown, NULL},
        {"delete, append, set, incrWithDefault",
         test_delete_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, append, set, prepend",
         test_delete_append_set_prepend,
         test_setup, teardown, NULL},
        {"delete, append, set, set",
         test_delete_append_set_set,
         test_setup, teardown, NULL},
        {"delete, decr, add, add",
         test_delete_decr_add_add,
         test_setup, teardown, NULL},
        {"delete, decr, add, append",
         test_delete_decr_add_append,
         test_setup, teardown, NULL},
        {"delete, decr, add, decr",
         test_delete_decr_add_decr,
         test_setup, teardown, NULL},
        {"delete, decr, add, decrWithDefault",
         test_delete_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, add, delay",
         test_delete_decr_add_delay,
         test_setup, teardown, NULL},
        {"delete, decr, add, delete",
         test_delete_decr_add_delete,
         test_setup, teardown, NULL},
        {"delete, decr, add, flush",
         test_delete_decr_add_flush,
         test_setup, teardown, NULL},
        {"delete, decr, add, incr",
         test_delete_decr_add_incr,
         test_setup, teardown, NULL},
        {"delete, decr, add, incrWithDefault",
         test_delete_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, add, prepend",
         test_delete_decr_add_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, add, set",
         test_delete_decr_add_set,
         test_setup, teardown, NULL},
        {"delete, decr, append, add",
         test_delete_decr_append_add,
         test_setup, teardown, NULL},
        {"delete, decr, append, append",
         test_delete_decr_append_append,
         test_setup, teardown, NULL},
        {"delete, decr, append, decr",
         test_delete_decr_append_decr,
         test_setup, teardown, NULL},
        {"delete, decr, append, decrWithDefault",
         test_delete_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, append, delay",
         test_delete_decr_append_delay,
         test_setup, teardown, NULL},
        {"delete, decr, append, delete",
         test_delete_decr_append_delete,
         test_setup, teardown, NULL},
        {"delete, decr, append, flush",
         test_delete_decr_append_flush,
         test_setup, teardown, NULL},
        {"delete, decr, append, incr",
         test_delete_decr_append_incr,
         test_setup, teardown, NULL},
        {"delete, decr, append, incrWithDefault",
         test_delete_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, append, prepend",
         test_delete_decr_append_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, append, set",
         test_delete_decr_append_set,
         test_setup, teardown, NULL},
        {"delete, decr, decr, add",
         test_delete_decr_decr_add,
         test_setup, teardown, NULL},
        {"delete, decr, decr, append",
         test_delete_decr_decr_append,
         test_setup, teardown, NULL},
        {"delete, decr, decr, decr",
         test_delete_decr_decr_decr,
         test_setup, teardown, NULL},
        {"delete, decr, decr, decrWithDefault",
         test_delete_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, decr, delay",
         test_delete_decr_decr_delay,
         test_setup, teardown, NULL},
        {"delete, decr, decr, delete",
         test_delete_decr_decr_delete,
         test_setup, teardown, NULL},
        {"delete, decr, decr, flush",
         test_delete_decr_decr_flush,
         test_setup, teardown, NULL},
        {"delete, decr, decr, incr",
         test_delete_decr_decr_incr,
         test_setup, teardown, NULL},
        {"delete, decr, decr, incrWithDefault",
         test_delete_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, decr, prepend",
         test_delete_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, decr, set",
         test_delete_decr_decr_set,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, add",
         test_delete_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, append",
         test_delete_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, decr",
         test_delete_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, decrWithDefault",
         test_delete_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, delay",
         test_delete_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, delete",
         test_delete_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, flush",
         test_delete_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, incr",
         test_delete_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, incrWithDefault",
         test_delete_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, prepend",
         test_delete_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, decrWithDefault, set",
         test_delete_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, decr, delay, add",
         test_delete_decr_delay_add,
         test_setup, teardown, NULL},
        {"delete, decr, delay, append",
         test_delete_decr_delay_append,
         test_setup, teardown, NULL},
        {"delete, decr, delay, decr",
         test_delete_decr_delay_decr,
         test_setup, teardown, NULL},
        {"delete, decr, delay, decrWithDefault",
         test_delete_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, delay, delay",
         test_delete_decr_delay_delay,
         test_setup, teardown, NULL},
        {"delete, decr, delay, delete",
         test_delete_decr_delay_delete,
         test_setup, teardown, NULL},
        {"delete, decr, delay, flush",
         test_delete_decr_delay_flush,
         test_setup, teardown, NULL},
        {"delete, decr, delay, incr",
         test_delete_decr_delay_incr,
         test_setup, teardown, NULL},
        {"delete, decr, delay, incrWithDefault",
         test_delete_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, delay, prepend",
         test_delete_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, delay, set",
         test_delete_decr_delay_set,
         test_setup, teardown, NULL},
        {"delete, decr, delete, add",
         test_delete_decr_delete_add,
         test_setup, teardown, NULL},
        {"delete, decr, delete, append",
         test_delete_decr_delete_append,
         test_setup, teardown, NULL},
        {"delete, decr, delete, decr",
         test_delete_decr_delete_decr,
         test_setup, teardown, NULL},
        {"delete, decr, delete, decrWithDefault",
         test_delete_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, delete, delay",
         test_delete_decr_delete_delay,
         test_setup, teardown, NULL},
        {"delete, decr, delete, delete",
         test_delete_decr_delete_delete,
         test_setup, teardown, NULL},
        {"delete, decr, delete, flush",
         test_delete_decr_delete_flush,
         test_setup, teardown, NULL},
        {"delete, decr, delete, incr",
         test_delete_decr_delete_incr,
         test_setup, teardown, NULL},
        {"delete, decr, delete, incrWithDefault",
         test_delete_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, delete, prepend",
         test_delete_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, delete, set",
         test_delete_decr_delete_set,
         test_setup, teardown, NULL},
        {"delete, decr, flush, add",
         test_delete_decr_flush_add,
         test_setup, teardown, NULL},
        {"delete, decr, flush, append",
         test_delete_decr_flush_append,
         test_setup, teardown, NULL},
        {"delete, decr, flush, decr",
         test_delete_decr_flush_decr,
         test_setup, teardown, NULL},
        {"delete, decr, flush, decrWithDefault",
         test_delete_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, flush, delay",
         test_delete_decr_flush_delay,
         test_setup, teardown, NULL},
        {"delete, decr, flush, delete",
         test_delete_decr_flush_delete,
         test_setup, teardown, NULL},
        {"delete, decr, flush, flush",
         test_delete_decr_flush_flush,
         test_setup, teardown, NULL},
        {"delete, decr, flush, incr",
         test_delete_decr_flush_incr,
         test_setup, teardown, NULL},
        {"delete, decr, flush, incrWithDefault",
         test_delete_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, flush, prepend",
         test_delete_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, flush, set",
         test_delete_decr_flush_set,
         test_setup, teardown, NULL},
        {"delete, decr, incr, add",
         test_delete_decr_incr_add,
         test_setup, teardown, NULL},
        {"delete, decr, incr, append",
         test_delete_decr_incr_append,
         test_setup, teardown, NULL},
        {"delete, decr, incr, decr",
         test_delete_decr_incr_decr,
         test_setup, teardown, NULL},
        {"delete, decr, incr, decrWithDefault",
         test_delete_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, incr, delay",
         test_delete_decr_incr_delay,
         test_setup, teardown, NULL},
        {"delete, decr, incr, delete",
         test_delete_decr_incr_delete,
         test_setup, teardown, NULL},
        {"delete, decr, incr, flush",
         test_delete_decr_incr_flush,
         test_setup, teardown, NULL},
        {"delete, decr, incr, incr",
         test_delete_decr_incr_incr,
         test_setup, teardown, NULL},
        {"delete, decr, incr, incrWithDefault",
         test_delete_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, incr, prepend",
         test_delete_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, incr, set",
         test_delete_decr_incr_set,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, add",
         test_delete_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, append",
         test_delete_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, decr",
         test_delete_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, decrWithDefault",
         test_delete_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, delay",
         test_delete_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, delete",
         test_delete_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, flush",
         test_delete_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, incr",
         test_delete_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, incrWithDefault",
         test_delete_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, prepend",
         test_delete_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, incrWithDefault, set",
         test_delete_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, add",
         test_delete_decr_prepend_add,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, append",
         test_delete_decr_prepend_append,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, decr",
         test_delete_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, decrWithDefault",
         test_delete_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, delay",
         test_delete_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, delete",
         test_delete_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, flush",
         test_delete_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, incr",
         test_delete_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, incrWithDefault",
         test_delete_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, prepend",
         test_delete_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, prepend, set",
         test_delete_decr_prepend_set,
         test_setup, teardown, NULL},
        {"delete, decr, set, add",
         test_delete_decr_set_add,
         test_setup, teardown, NULL},
        {"delete, decr, set, append",
         test_delete_decr_set_append,
         test_setup, teardown, NULL},
        {"delete, decr, set, decr",
         test_delete_decr_set_decr,
         test_setup, teardown, NULL},
        {"delete, decr, set, decrWithDefault",
         test_delete_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, set, delay",
         test_delete_decr_set_delay,
         test_setup, teardown, NULL},
        {"delete, decr, set, delete",
         test_delete_decr_set_delete,
         test_setup, teardown, NULL},
        {"delete, decr, set, flush",
         test_delete_decr_set_flush,
         test_setup, teardown, NULL},
        {"delete, decr, set, incr",
         test_delete_decr_set_incr,
         test_setup, teardown, NULL},
        {"delete, decr, set, incrWithDefault",
         test_delete_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decr, set, prepend",
         test_delete_decr_set_prepend,
         test_setup, teardown, NULL},
        {"delete, decr, set, set",
         test_delete_decr_set_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, add",
         test_delete_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, append",
         test_delete_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, decr",
         test_delete_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, decrWithDefault",
         test_delete_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, delay",
         test_delete_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, delete",
         test_delete_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, flush",
         test_delete_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, incr",
         test_delete_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, incrWithDefault",
         test_delete_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, prepend",
         test_delete_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, add, set",
         test_delete_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, add",
         test_delete_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, append",
         test_delete_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, decr",
         test_delete_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, decrWithDefault",
         test_delete_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, delay",
         test_delete_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, delete",
         test_delete_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, flush",
         test_delete_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, incr",
         test_delete_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, incrWithDefault",
         test_delete_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, prepend",
         test_delete_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, append, set",
         test_delete_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, add",
         test_delete_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, append",
         test_delete_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, decr",
         test_delete_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, decrWithDefault",
         test_delete_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, delay",
         test_delete_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, delete",
         test_delete_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, flush",
         test_delete_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, incr",
         test_delete_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, incrWithDefault",
         test_delete_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, prepend",
         test_delete_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decr, set",
         test_delete_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, add",
         test_delete_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, append",
         test_delete_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, decr",
         test_delete_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, decrWithDefault",
         test_delete_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, delay",
         test_delete_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, delete",
         test_delete_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, flush",
         test_delete_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, incr",
         test_delete_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, incrWithDefault",
         test_delete_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, prepend",
         test_delete_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, decrWithDefault, set",
         test_delete_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, add",
         test_delete_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, append",
         test_delete_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, decr",
         test_delete_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, decrWithDefault",
         test_delete_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, delay",
         test_delete_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, delete",
         test_delete_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, flush",
         test_delete_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, incr",
         test_delete_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, incrWithDefault",
         test_delete_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, prepend",
         test_delete_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delay, set",
         test_delete_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, add",
         test_delete_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, append",
         test_delete_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, decr",
         test_delete_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, decrWithDefault",
         test_delete_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, delay",
         test_delete_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, delete",
         test_delete_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, flush",
         test_delete_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, incr",
         test_delete_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, incrWithDefault",
         test_delete_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, prepend",
         test_delete_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, delete, set",
         test_delete_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, add",
         test_delete_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, append",
         test_delete_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, decr",
         test_delete_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, decrWithDefault",
         test_delete_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, delay",
         test_delete_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, delete",
         test_delete_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, flush",
         test_delete_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, incr",
         test_delete_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, incrWithDefault",
         test_delete_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, prepend",
         test_delete_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, flush, set",
         test_delete_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, add",
         test_delete_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, append",
         test_delete_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, decr",
         test_delete_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, decrWithDefault",
         test_delete_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, delay",
         test_delete_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, delete",
         test_delete_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, flush",
         test_delete_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, incr",
         test_delete_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, incrWithDefault",
         test_delete_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, prepend",
         test_delete_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incr, set",
         test_delete_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, add",
         test_delete_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, append",
         test_delete_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, decr",
         test_delete_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, decrWithDefault",
         test_delete_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, delay",
         test_delete_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, delete",
         test_delete_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, flush",
         test_delete_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, incr",
         test_delete_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, incrWithDefault",
         test_delete_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, prepend",
         test_delete_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, incrWithDefault, set",
         test_delete_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, add",
         test_delete_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, append",
         test_delete_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, decr",
         test_delete_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, decrWithDefault",
         test_delete_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, delay",
         test_delete_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, delete",
         test_delete_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, flush",
         test_delete_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, incr",
         test_delete_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, incrWithDefault",
         test_delete_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, prepend",
         test_delete_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, prepend, set",
         test_delete_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, add",
         test_delete_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, append",
         test_delete_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, decr",
         test_delete_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, decrWithDefault",
         test_delete_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, delay",
         test_delete_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, delete",
         test_delete_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, flush",
         test_delete_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, incr",
         test_delete_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, incrWithDefault",
         test_delete_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, prepend",
         test_delete_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"delete, decrWithDefault, set, set",
         test_delete_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"delete, delay, add, add",
         test_delete_delay_add_add,
         test_setup, teardown, NULL},
        {"delete, delay, add, append",
         test_delete_delay_add_append,
         test_setup, teardown, NULL},
        {"delete, delay, add, decr",
         test_delete_delay_add_decr,
         test_setup, teardown, NULL},
        {"delete, delay, add, decrWithDefault",
         test_delete_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, add, delay",
         test_delete_delay_add_delay,
         test_setup, teardown, NULL},
        {"delete, delay, add, delete",
         test_delete_delay_add_delete,
         test_setup, teardown, NULL},
        {"delete, delay, add, flush",
         test_delete_delay_add_flush,
         test_setup, teardown, NULL},
        {"delete, delay, add, incr",
         test_delete_delay_add_incr,
         test_setup, teardown, NULL},
        {"delete, delay, add, incrWithDefault",
         test_delete_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, add, prepend",
         test_delete_delay_add_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, add, set",
         test_delete_delay_add_set,
         test_setup, teardown, NULL},
        {"delete, delay, append, add",
         test_delete_delay_append_add,
         test_setup, teardown, NULL},
        {"delete, delay, append, append",
         test_delete_delay_append_append,
         test_setup, teardown, NULL},
        {"delete, delay, append, decr",
         test_delete_delay_append_decr,
         test_setup, teardown, NULL},
        {"delete, delay, append, decrWithDefault",
         test_delete_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, append, delay",
         test_delete_delay_append_delay,
         test_setup, teardown, NULL},
        {"delete, delay, append, delete",
         test_delete_delay_append_delete,
         test_setup, teardown, NULL},
        {"delete, delay, append, flush",
         test_delete_delay_append_flush,
         test_setup, teardown, NULL},
        {"delete, delay, append, incr",
         test_delete_delay_append_incr,
         test_setup, teardown, NULL},
        {"delete, delay, append, incrWithDefault",
         test_delete_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, append, prepend",
         test_delete_delay_append_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, append, set",
         test_delete_delay_append_set,
         test_setup, teardown, NULL},
        {"delete, delay, decr, add",
         test_delete_delay_decr_add,
         test_setup, teardown, NULL},
        {"delete, delay, decr, append",
         test_delete_delay_decr_append,
         test_setup, teardown, NULL},
        {"delete, delay, decr, decr",
         test_delete_delay_decr_decr,
         test_setup, teardown, NULL},
        {"delete, delay, decr, decrWithDefault",
         test_delete_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, decr, delay",
         test_delete_delay_decr_delay,
         test_setup, teardown, NULL},
        {"delete, delay, decr, delete",
         test_delete_delay_decr_delete,
         test_setup, teardown, NULL},
        {"delete, delay, decr, flush",
         test_delete_delay_decr_flush,
         test_setup, teardown, NULL},
        {"delete, delay, decr, incr",
         test_delete_delay_decr_incr,
         test_setup, teardown, NULL},
        {"delete, delay, decr, incrWithDefault",
         test_delete_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, decr, prepend",
         test_delete_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, decr, set",
         test_delete_delay_decr_set,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, add",
         test_delete_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, append",
         test_delete_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, decr",
         test_delete_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, decrWithDefault",
         test_delete_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, delay",
         test_delete_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, delete",
         test_delete_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, flush",
         test_delete_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, incr",
         test_delete_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, incrWithDefault",
         test_delete_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, prepend",
         test_delete_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, decrWithDefault, set",
         test_delete_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, delay, delay, add",
         test_delete_delay_delay_add,
         test_setup, teardown, NULL},
        {"delete, delay, delay, append",
         test_delete_delay_delay_append,
         test_setup, teardown, NULL},
        {"delete, delay, delay, decr",
         test_delete_delay_delay_decr,
         test_setup, teardown, NULL},
        {"delete, delay, delay, decrWithDefault",
         test_delete_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, delay, delay",
         test_delete_delay_delay_delay,
         test_setup, teardown, NULL},
        {"delete, delay, delay, delete",
         test_delete_delay_delay_delete,
         test_setup, teardown, NULL},
        {"delete, delay, delay, flush",
         test_delete_delay_delay_flush,
         test_setup, teardown, NULL},
        {"delete, delay, delay, incr",
         test_delete_delay_delay_incr,
         test_setup, teardown, NULL},
        {"delete, delay, delay, incrWithDefault",
         test_delete_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, delay, prepend",
         test_delete_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, delay, set",
         test_delete_delay_delay_set,
         test_setup, teardown, NULL},
        {"delete, delay, delete, add",
         test_delete_delay_delete_add,
         test_setup, teardown, NULL},
        {"delete, delay, delete, append",
         test_delete_delay_delete_append,
         test_setup, teardown, NULL},
        {"delete, delay, delete, decr",
         test_delete_delay_delete_decr,
         test_setup, teardown, NULL},
        {"delete, delay, delete, decrWithDefault",
         test_delete_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, delete, delay",
         test_delete_delay_delete_delay,
         test_setup, teardown, NULL},
        {"delete, delay, delete, delete",
         test_delete_delay_delete_delete,
         test_setup, teardown, NULL},
        {"delete, delay, delete, flush",
         test_delete_delay_delete_flush,
         test_setup, teardown, NULL},
        {"delete, delay, delete, incr",
         test_delete_delay_delete_incr,
         test_setup, teardown, NULL},
        {"delete, delay, delete, incrWithDefault",
         test_delete_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, delete, prepend",
         test_delete_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, delete, set",
         test_delete_delay_delete_set,
         test_setup, teardown, NULL},
        {"delete, delay, flush, add",
         test_delete_delay_flush_add,
         test_setup, teardown, NULL},
        {"delete, delay, flush, append",
         test_delete_delay_flush_append,
         test_setup, teardown, NULL},
        {"delete, delay, flush, decr",
         test_delete_delay_flush_decr,
         test_setup, teardown, NULL},
        {"delete, delay, flush, decrWithDefault",
         test_delete_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, flush, delay",
         test_delete_delay_flush_delay,
         test_setup, teardown, NULL},
        {"delete, delay, flush, delete",
         test_delete_delay_flush_delete,
         test_setup, teardown, NULL},
        {"delete, delay, flush, flush",
         test_delete_delay_flush_flush,
         test_setup, teardown, NULL},
        {"delete, delay, flush, incr",
         test_delete_delay_flush_incr,
         test_setup, teardown, NULL},
        {"delete, delay, flush, incrWithDefault",
         test_delete_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, flush, prepend",
         test_delete_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, flush, set",
         test_delete_delay_flush_set,
         test_setup, teardown, NULL},
        {"delete, delay, incr, add",
         test_delete_delay_incr_add,
         test_setup, teardown, NULL},
        {"delete, delay, incr, append",
         test_delete_delay_incr_append,
         test_setup, teardown, NULL},
        {"delete, delay, incr, decr",
         test_delete_delay_incr_decr,
         test_setup, teardown, NULL},
        {"delete, delay, incr, decrWithDefault",
         test_delete_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, incr, delay",
         test_delete_delay_incr_delay,
         test_setup, teardown, NULL},
        {"delete, delay, incr, delete",
         test_delete_delay_incr_delete,
         test_setup, teardown, NULL},
        {"delete, delay, incr, flush",
         test_delete_delay_incr_flush,
         test_setup, teardown, NULL},
        {"delete, delay, incr, incr",
         test_delete_delay_incr_incr,
         test_setup, teardown, NULL},
        {"delete, delay, incr, incrWithDefault",
         test_delete_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, incr, prepend",
         test_delete_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, incr, set",
         test_delete_delay_incr_set,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, add",
         test_delete_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, append",
         test_delete_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, decr",
         test_delete_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, decrWithDefault",
         test_delete_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, delay",
         test_delete_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, delete",
         test_delete_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, flush",
         test_delete_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, incr",
         test_delete_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, incrWithDefault",
         test_delete_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, prepend",
         test_delete_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, incrWithDefault, set",
         test_delete_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, add",
         test_delete_delay_prepend_add,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, append",
         test_delete_delay_prepend_append,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, decr",
         test_delete_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, decrWithDefault",
         test_delete_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, delay",
         test_delete_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, delete",
         test_delete_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, flush",
         test_delete_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, incr",
         test_delete_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, incrWithDefault",
         test_delete_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, prepend",
         test_delete_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, prepend, set",
         test_delete_delay_prepend_set,
         test_setup, teardown, NULL},
        {"delete, delay, set, add",
         test_delete_delay_set_add,
         test_setup, teardown, NULL},
        {"delete, delay, set, append",
         test_delete_delay_set_append,
         test_setup, teardown, NULL},
        {"delete, delay, set, decr",
         test_delete_delay_set_decr,
         test_setup, teardown, NULL},
        {"delete, delay, set, decrWithDefault",
         test_delete_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, set, delay",
         test_delete_delay_set_delay,
         test_setup, teardown, NULL},
        {"delete, delay, set, delete",
         test_delete_delay_set_delete,
         test_setup, teardown, NULL},
        {"delete, delay, set, flush",
         test_delete_delay_set_flush,
         test_setup, teardown, NULL},
        {"delete, delay, set, incr",
         test_delete_delay_set_incr,
         test_setup, teardown, NULL},
        {"delete, delay, set, incrWithDefault",
         test_delete_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delay, set, prepend",
         test_delete_delay_set_prepend,
         test_setup, teardown, NULL},
        {"delete, delay, set, set",
         test_delete_delay_set_set,
         test_setup, teardown, NULL},
        {"delete, delete, add, add",
         test_delete_delete_add_add,
         test_setup, teardown, NULL},
        {"delete, delete, add, append",
         test_delete_delete_add_append,
         test_setup, teardown, NULL},
        {"delete, delete, add, decr",
         test_delete_delete_add_decr,
         test_setup, teardown, NULL},
        {"delete, delete, add, decrWithDefault",
         test_delete_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, add, delay",
         test_delete_delete_add_delay,
         test_setup, teardown, NULL},
        {"delete, delete, add, delete",
         test_delete_delete_add_delete,
         test_setup, teardown, NULL},
        {"delete, delete, add, flush",
         test_delete_delete_add_flush,
         test_setup, teardown, NULL},
        {"delete, delete, add, incr",
         test_delete_delete_add_incr,
         test_setup, teardown, NULL},
        {"delete, delete, add, incrWithDefault",
         test_delete_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, add, prepend",
         test_delete_delete_add_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, add, set",
         test_delete_delete_add_set,
         test_setup, teardown, NULL},
        {"delete, delete, append, add",
         test_delete_delete_append_add,
         test_setup, teardown, NULL},
        {"delete, delete, append, append",
         test_delete_delete_append_append,
         test_setup, teardown, NULL},
        {"delete, delete, append, decr",
         test_delete_delete_append_decr,
         test_setup, teardown, NULL},
        {"delete, delete, append, decrWithDefault",
         test_delete_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, append, delay",
         test_delete_delete_append_delay,
         test_setup, teardown, NULL},
        {"delete, delete, append, delete",
         test_delete_delete_append_delete,
         test_setup, teardown, NULL},
        {"delete, delete, append, flush",
         test_delete_delete_append_flush,
         test_setup, teardown, NULL},
        {"delete, delete, append, incr",
         test_delete_delete_append_incr,
         test_setup, teardown, NULL},
        {"delete, delete, append, incrWithDefault",
         test_delete_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, append, prepend",
         test_delete_delete_append_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, append, set",
         test_delete_delete_append_set,
         test_setup, teardown, NULL},
        {"delete, delete, decr, add",
         test_delete_delete_decr_add,
         test_setup, teardown, NULL},
        {"delete, delete, decr, append",
         test_delete_delete_decr_append,
         test_setup, teardown, NULL},
        {"delete, delete, decr, decr",
         test_delete_delete_decr_decr,
         test_setup, teardown, NULL},
        {"delete, delete, decr, decrWithDefault",
         test_delete_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, decr, delay",
         test_delete_delete_decr_delay,
         test_setup, teardown, NULL},
        {"delete, delete, decr, delete",
         test_delete_delete_decr_delete,
         test_setup, teardown, NULL},
        {"delete, delete, decr, flush",
         test_delete_delete_decr_flush,
         test_setup, teardown, NULL},
        {"delete, delete, decr, incr",
         test_delete_delete_decr_incr,
         test_setup, teardown, NULL},
        {"delete, delete, decr, incrWithDefault",
         test_delete_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, decr, prepend",
         test_delete_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, decr, set",
         test_delete_delete_decr_set,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, add",
         test_delete_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, append",
         test_delete_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, decr",
         test_delete_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, decrWithDefault",
         test_delete_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, delay",
         test_delete_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, delete",
         test_delete_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, flush",
         test_delete_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, incr",
         test_delete_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, incrWithDefault",
         test_delete_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, prepend",
         test_delete_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, decrWithDefault, set",
         test_delete_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, delete, delay, add",
         test_delete_delete_delay_add,
         test_setup, teardown, NULL},
        {"delete, delete, delay, append",
         test_delete_delete_delay_append,
         test_setup, teardown, NULL},
        {"delete, delete, delay, decr",
         test_delete_delete_delay_decr,
         test_setup, teardown, NULL},
        {"delete, delete, delay, decrWithDefault",
         test_delete_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, delay, delay",
         test_delete_delete_delay_delay,
         test_setup, teardown, NULL},
        {"delete, delete, delay, delete",
         test_delete_delete_delay_delete,
         test_setup, teardown, NULL},
        {"delete, delete, delay, flush",
         test_delete_delete_delay_flush,
         test_setup, teardown, NULL},
        {"delete, delete, delay, incr",
         test_delete_delete_delay_incr,
         test_setup, teardown, NULL},
        {"delete, delete, delay, incrWithDefault",
         test_delete_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, delay, prepend",
         test_delete_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, delay, set",
         test_delete_delete_delay_set,
         test_setup, teardown, NULL},
        {"delete, delete, delete, add",
         test_delete_delete_delete_add,
         test_setup, teardown, NULL},
        {"delete, delete, delete, append",
         test_delete_delete_delete_append,
         test_setup, teardown, NULL},
        {"delete, delete, delete, decr",
         test_delete_delete_delete_decr,
         test_setup, teardown, NULL},
        {"delete, delete, delete, decrWithDefault",
         test_delete_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, delete, delay",
         test_delete_delete_delete_delay,
         test_setup, teardown, NULL},
        {"delete, delete, delete, flush",
         test_delete_delete_delete_flush,
         test_setup, teardown, NULL},
        {"delete, delete, delete, incr",
         test_delete_delete_delete_incr,
         test_setup, teardown, NULL},
        {"delete, delete, delete, incrWithDefault",
         test_delete_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, delete, prepend",
         test_delete_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, delete, set",
         test_delete_delete_delete_set,
         test_setup, teardown, NULL},
        {"delete, delete, flush, add",
         test_delete_delete_flush_add,
         test_setup, teardown, NULL},
        {"delete, delete, flush, append",
         test_delete_delete_flush_append,
         test_setup, teardown, NULL},
        {"delete, delete, flush, decr",
         test_delete_delete_flush_decr,
         test_setup, teardown, NULL},
        {"delete, delete, flush, decrWithDefault",
         test_delete_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, flush, delay",
         test_delete_delete_flush_delay,
         test_setup, teardown, NULL},
        {"delete, delete, flush, delete",
         test_delete_delete_flush_delete,
         test_setup, teardown, NULL},
        {"delete, delete, flush, flush",
         test_delete_delete_flush_flush,
         test_setup, teardown, NULL},
        {"delete, delete, flush, incr",
         test_delete_delete_flush_incr,
         test_setup, teardown, NULL},
        {"delete, delete, flush, incrWithDefault",
         test_delete_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, flush, prepend",
         test_delete_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, flush, set",
         test_delete_delete_flush_set,
         test_setup, teardown, NULL},
        {"delete, delete, incr, add",
         test_delete_delete_incr_add,
         test_setup, teardown, NULL},
        {"delete, delete, incr, append",
         test_delete_delete_incr_append,
         test_setup, teardown, NULL},
        {"delete, delete, incr, decr",
         test_delete_delete_incr_decr,
         test_setup, teardown, NULL},
        {"delete, delete, incr, decrWithDefault",
         test_delete_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, incr, delay",
         test_delete_delete_incr_delay,
         test_setup, teardown, NULL},
        {"delete, delete, incr, delete",
         test_delete_delete_incr_delete,
         test_setup, teardown, NULL},
        {"delete, delete, incr, flush",
         test_delete_delete_incr_flush,
         test_setup, teardown, NULL},
        {"delete, delete, incr, incr",
         test_delete_delete_incr_incr,
         test_setup, teardown, NULL},
        {"delete, delete, incr, incrWithDefault",
         test_delete_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, incr, prepend",
         test_delete_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, incr, set",
         test_delete_delete_incr_set,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, add",
         test_delete_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, append",
         test_delete_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, decr",
         test_delete_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, decrWithDefault",
         test_delete_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, delay",
         test_delete_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, delete",
         test_delete_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, flush",
         test_delete_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, incr",
         test_delete_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, incrWithDefault",
         test_delete_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, prepend",
         test_delete_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, incrWithDefault, set",
         test_delete_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, add",
         test_delete_delete_prepend_add,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, append",
         test_delete_delete_prepend_append,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, decr",
         test_delete_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, decrWithDefault",
         test_delete_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, delay",
         test_delete_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, delete",
         test_delete_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, flush",
         test_delete_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, incr",
         test_delete_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, incrWithDefault",
         test_delete_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, prepend",
         test_delete_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, prepend, set",
         test_delete_delete_prepend_set,
         test_setup, teardown, NULL},
        {"delete, delete, set, add",
         test_delete_delete_set_add,
         test_setup, teardown, NULL},
        {"delete, delete, set, append",
         test_delete_delete_set_append,
         test_setup, teardown, NULL},
        {"delete, delete, set, decr",
         test_delete_delete_set_decr,
         test_setup, teardown, NULL},
        {"delete, delete, set, decrWithDefault",
         test_delete_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, set, delay",
         test_delete_delete_set_delay,
         test_setup, teardown, NULL},
        {"delete, delete, set, delete",
         test_delete_delete_set_delete,
         test_setup, teardown, NULL},
        {"delete, delete, set, flush",
         test_delete_delete_set_flush,
         test_setup, teardown, NULL},
        {"delete, delete, set, incr",
         test_delete_delete_set_incr,
         test_setup, teardown, NULL},
        {"delete, delete, set, incrWithDefault",
         test_delete_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, delete, set, prepend",
         test_delete_delete_set_prepend,
         test_setup, teardown, NULL},
        {"delete, delete, set, set",
         test_delete_delete_set_set,
         test_setup, teardown, NULL},
        {"delete, flush, add, add",
         test_delete_flush_add_add,
         test_setup, teardown, NULL},
        {"delete, flush, add, append",
         test_delete_flush_add_append,
         test_setup, teardown, NULL},
        {"delete, flush, add, decr",
         test_delete_flush_add_decr,
         test_setup, teardown, NULL},
        {"delete, flush, add, decrWithDefault",
         test_delete_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, add, delay",
         test_delete_flush_add_delay,
         test_setup, teardown, NULL},
        {"delete, flush, add, delete",
         test_delete_flush_add_delete,
         test_setup, teardown, NULL},
        {"delete, flush, add, flush",
         test_delete_flush_add_flush,
         test_setup, teardown, NULL},
        {"delete, flush, add, incr",
         test_delete_flush_add_incr,
         test_setup, teardown, NULL},
        {"delete, flush, add, incrWithDefault",
         test_delete_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, add, prepend",
         test_delete_flush_add_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, add, set",
         test_delete_flush_add_set,
         test_setup, teardown, NULL},
        {"delete, flush, append, add",
         test_delete_flush_append_add,
         test_setup, teardown, NULL},
        {"delete, flush, append, append",
         test_delete_flush_append_append,
         test_setup, teardown, NULL},
        {"delete, flush, append, decr",
         test_delete_flush_append_decr,
         test_setup, teardown, NULL},
        {"delete, flush, append, decrWithDefault",
         test_delete_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, append, delay",
         test_delete_flush_append_delay,
         test_setup, teardown, NULL},
        {"delete, flush, append, delete",
         test_delete_flush_append_delete,
         test_setup, teardown, NULL},
        {"delete, flush, append, flush",
         test_delete_flush_append_flush,
         test_setup, teardown, NULL},
        {"delete, flush, append, incr",
         test_delete_flush_append_incr,
         test_setup, teardown, NULL},
        {"delete, flush, append, incrWithDefault",
         test_delete_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, append, prepend",
         test_delete_flush_append_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, append, set",
         test_delete_flush_append_set,
         test_setup, teardown, NULL},
        {"delete, flush, decr, add",
         test_delete_flush_decr_add,
         test_setup, teardown, NULL},
        {"delete, flush, decr, append",
         test_delete_flush_decr_append,
         test_setup, teardown, NULL},
        {"delete, flush, decr, decr",
         test_delete_flush_decr_decr,
         test_setup, teardown, NULL},
        {"delete, flush, decr, decrWithDefault",
         test_delete_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, decr, delay",
         test_delete_flush_decr_delay,
         test_setup, teardown, NULL},
        {"delete, flush, decr, delete",
         test_delete_flush_decr_delete,
         test_setup, teardown, NULL},
        {"delete, flush, decr, flush",
         test_delete_flush_decr_flush,
         test_setup, teardown, NULL},
        {"delete, flush, decr, incr",
         test_delete_flush_decr_incr,
         test_setup, teardown, NULL},
        {"delete, flush, decr, incrWithDefault",
         test_delete_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, decr, prepend",
         test_delete_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, decr, set",
         test_delete_flush_decr_set,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, add",
         test_delete_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, append",
         test_delete_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, decr",
         test_delete_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, decrWithDefault",
         test_delete_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, delay",
         test_delete_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, delete",
         test_delete_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, flush",
         test_delete_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, incr",
         test_delete_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, incrWithDefault",
         test_delete_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, prepend",
         test_delete_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, decrWithDefault, set",
         test_delete_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, flush, delay, add",
         test_delete_flush_delay_add,
         test_setup, teardown, NULL},
        {"delete, flush, delay, append",
         test_delete_flush_delay_append,
         test_setup, teardown, NULL},
        {"delete, flush, delay, decr",
         test_delete_flush_delay_decr,
         test_setup, teardown, NULL},
        {"delete, flush, delay, decrWithDefault",
         test_delete_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, delay, delay",
         test_delete_flush_delay_delay,
         test_setup, teardown, NULL},
        {"delete, flush, delay, delete",
         test_delete_flush_delay_delete,
         test_setup, teardown, NULL},
        {"delete, flush, delay, flush",
         test_delete_flush_delay_flush,
         test_setup, teardown, NULL},
        {"delete, flush, delay, incr",
         test_delete_flush_delay_incr,
         test_setup, teardown, NULL},
        {"delete, flush, delay, incrWithDefault",
         test_delete_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, delay, prepend",
         test_delete_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, delay, set",
         test_delete_flush_delay_set,
         test_setup, teardown, NULL},
        {"delete, flush, delete, add",
         test_delete_flush_delete_add,
         test_setup, teardown, NULL},
        {"delete, flush, delete, append",
         test_delete_flush_delete_append,
         test_setup, teardown, NULL},
        {"delete, flush, delete, decr",
         test_delete_flush_delete_decr,
         test_setup, teardown, NULL},
        {"delete, flush, delete, decrWithDefault",
         test_delete_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, delete, delay",
         test_delete_flush_delete_delay,
         test_setup, teardown, NULL},
        {"delete, flush, delete, delete",
         test_delete_flush_delete_delete,
         test_setup, teardown, NULL},
        {"delete, flush, delete, flush",
         test_delete_flush_delete_flush,
         test_setup, teardown, NULL},
        {"delete, flush, delete, incr",
         test_delete_flush_delete_incr,
         test_setup, teardown, NULL},
        {"delete, flush, delete, incrWithDefault",
         test_delete_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, delete, prepend",
         test_delete_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, delete, set",
         test_delete_flush_delete_set,
         test_setup, teardown, NULL},
        {"delete, flush, flush, add",
         test_delete_flush_flush_add,
         test_setup, teardown, NULL},
        {"delete, flush, flush, append",
         test_delete_flush_flush_append,
         test_setup, teardown, NULL},
        {"delete, flush, flush, decr",
         test_delete_flush_flush_decr,
         test_setup, teardown, NULL},
        {"delete, flush, flush, decrWithDefault",
         test_delete_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, flush, delay",
         test_delete_flush_flush_delay,
         test_setup, teardown, NULL},
        {"delete, flush, flush, delete",
         test_delete_flush_flush_delete,
         test_setup, teardown, NULL},
        {"delete, flush, flush, flush",
         test_delete_flush_flush_flush,
         test_setup, teardown, NULL},
        {"delete, flush, flush, incr",
         test_delete_flush_flush_incr,
         test_setup, teardown, NULL},
        {"delete, flush, flush, incrWithDefault",
         test_delete_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, flush, prepend",
         test_delete_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, flush, set",
         test_delete_flush_flush_set,
         test_setup, teardown, NULL},
        {"delete, flush, incr, add",
         test_delete_flush_incr_add,
         test_setup, teardown, NULL},
        {"delete, flush, incr, append",
         test_delete_flush_incr_append,
         test_setup, teardown, NULL},
        {"delete, flush, incr, decr",
         test_delete_flush_incr_decr,
         test_setup, teardown, NULL},
        {"delete, flush, incr, decrWithDefault",
         test_delete_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, incr, delay",
         test_delete_flush_incr_delay,
         test_setup, teardown, NULL},
        {"delete, flush, incr, delete",
         test_delete_flush_incr_delete,
         test_setup, teardown, NULL},
        {"delete, flush, incr, flush",
         test_delete_flush_incr_flush,
         test_setup, teardown, NULL},
        {"delete, flush, incr, incr",
         test_delete_flush_incr_incr,
         test_setup, teardown, NULL},
        {"delete, flush, incr, incrWithDefault",
         test_delete_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, incr, prepend",
         test_delete_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, incr, set",
         test_delete_flush_incr_set,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, add",
         test_delete_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, append",
         test_delete_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, decr",
         test_delete_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, decrWithDefault",
         test_delete_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, delay",
         test_delete_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, delete",
         test_delete_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, flush",
         test_delete_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, incr",
         test_delete_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, incrWithDefault",
         test_delete_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, prepend",
         test_delete_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, incrWithDefault, set",
         test_delete_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, add",
         test_delete_flush_prepend_add,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, append",
         test_delete_flush_prepend_append,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, decr",
         test_delete_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, decrWithDefault",
         test_delete_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, delay",
         test_delete_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, delete",
         test_delete_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, flush",
         test_delete_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, incr",
         test_delete_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, incrWithDefault",
         test_delete_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, prepend",
         test_delete_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, prepend, set",
         test_delete_flush_prepend_set,
         test_setup, teardown, NULL},
        {"delete, flush, set, add",
         test_delete_flush_set_add,
         test_setup, teardown, NULL},
        {"delete, flush, set, append",
         test_delete_flush_set_append,
         test_setup, teardown, NULL},
        {"delete, flush, set, decr",
         test_delete_flush_set_decr,
         test_setup, teardown, NULL},
        {"delete, flush, set, decrWithDefault",
         test_delete_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, set, delay",
         test_delete_flush_set_delay,
         test_setup, teardown, NULL},
        {"delete, flush, set, delete",
         test_delete_flush_set_delete,
         test_setup, teardown, NULL},
        {"delete, flush, set, flush",
         test_delete_flush_set_flush,
         test_setup, teardown, NULL},
        {"delete, flush, set, incr",
         test_delete_flush_set_incr,
         test_setup, teardown, NULL},
        {"delete, flush, set, incrWithDefault",
         test_delete_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, flush, set, prepend",
         test_delete_flush_set_prepend,
         test_setup, teardown, NULL},
        {"delete, flush, set, set",
         test_delete_flush_set_set,
         test_setup, teardown, NULL},
        {"delete, incr, add, add",
         test_delete_incr_add_add,
         test_setup, teardown, NULL},
        {"delete, incr, add, append",
         test_delete_incr_add_append,
         test_setup, teardown, NULL},
        {"delete, incr, add, decr",
         test_delete_incr_add_decr,
         test_setup, teardown, NULL},
        {"delete, incr, add, decrWithDefault",
         test_delete_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, add, delay",
         test_delete_incr_add_delay,
         test_setup, teardown, NULL},
        {"delete, incr, add, delete",
         test_delete_incr_add_delete,
         test_setup, teardown, NULL},
        {"delete, incr, add, flush",
         test_delete_incr_add_flush,
         test_setup, teardown, NULL},
        {"delete, incr, add, incr",
         test_delete_incr_add_incr,
         test_setup, teardown, NULL},
        {"delete, incr, add, incrWithDefault",
         test_delete_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, add, prepend",
         test_delete_incr_add_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, add, set",
         test_delete_incr_add_set,
         test_setup, teardown, NULL},
        {"delete, incr, append, add",
         test_delete_incr_append_add,
         test_setup, teardown, NULL},
        {"delete, incr, append, append",
         test_delete_incr_append_append,
         test_setup, teardown, NULL},
        {"delete, incr, append, decr",
         test_delete_incr_append_decr,
         test_setup, teardown, NULL},
        {"delete, incr, append, decrWithDefault",
         test_delete_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, append, delay",
         test_delete_incr_append_delay,
         test_setup, teardown, NULL},
        {"delete, incr, append, delete",
         test_delete_incr_append_delete,
         test_setup, teardown, NULL},
        {"delete, incr, append, flush",
         test_delete_incr_append_flush,
         test_setup, teardown, NULL},
        {"delete, incr, append, incr",
         test_delete_incr_append_incr,
         test_setup, teardown, NULL},
        {"delete, incr, append, incrWithDefault",
         test_delete_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, append, prepend",
         test_delete_incr_append_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, append, set",
         test_delete_incr_append_set,
         test_setup, teardown, NULL},
        {"delete, incr, decr, add",
         test_delete_incr_decr_add,
         test_setup, teardown, NULL},
        {"delete, incr, decr, append",
         test_delete_incr_decr_append,
         test_setup, teardown, NULL},
        {"delete, incr, decr, decr",
         test_delete_incr_decr_decr,
         test_setup, teardown, NULL},
        {"delete, incr, decr, decrWithDefault",
         test_delete_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, decr, delay",
         test_delete_incr_decr_delay,
         test_setup, teardown, NULL},
        {"delete, incr, decr, delete",
         test_delete_incr_decr_delete,
         test_setup, teardown, NULL},
        {"delete, incr, decr, flush",
         test_delete_incr_decr_flush,
         test_setup, teardown, NULL},
        {"delete, incr, decr, incr",
         test_delete_incr_decr_incr,
         test_setup, teardown, NULL},
        {"delete, incr, decr, incrWithDefault",
         test_delete_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, decr, prepend",
         test_delete_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, decr, set",
         test_delete_incr_decr_set,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, add",
         test_delete_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, append",
         test_delete_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, decr",
         test_delete_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, decrWithDefault",
         test_delete_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, delay",
         test_delete_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, delete",
         test_delete_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, flush",
         test_delete_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, incr",
         test_delete_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, incrWithDefault",
         test_delete_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, prepend",
         test_delete_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, decrWithDefault, set",
         test_delete_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, incr, delay, add",
         test_delete_incr_delay_add,
         test_setup, teardown, NULL},
        {"delete, incr, delay, append",
         test_delete_incr_delay_append,
         test_setup, teardown, NULL},
        {"delete, incr, delay, decr",
         test_delete_incr_delay_decr,
         test_setup, teardown, NULL},
        {"delete, incr, delay, decrWithDefault",
         test_delete_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, delay, delay",
         test_delete_incr_delay_delay,
         test_setup, teardown, NULL},
        {"delete, incr, delay, delete",
         test_delete_incr_delay_delete,
         test_setup, teardown, NULL},
        {"delete, incr, delay, flush",
         test_delete_incr_delay_flush,
         test_setup, teardown, NULL},
        {"delete, incr, delay, incr",
         test_delete_incr_delay_incr,
         test_setup, teardown, NULL},
        {"delete, incr, delay, incrWithDefault",
         test_delete_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, delay, prepend",
         test_delete_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, delay, set",
         test_delete_incr_delay_set,
         test_setup, teardown, NULL},
        {"delete, incr, delete, add",
         test_delete_incr_delete_add,
         test_setup, teardown, NULL},
        {"delete, incr, delete, append",
         test_delete_incr_delete_append,
         test_setup, teardown, NULL},
        {"delete, incr, delete, decr",
         test_delete_incr_delete_decr,
         test_setup, teardown, NULL},
        {"delete, incr, delete, decrWithDefault",
         test_delete_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, delete, delay",
         test_delete_incr_delete_delay,
         test_setup, teardown, NULL},
        {"delete, incr, delete, delete",
         test_delete_incr_delete_delete,
         test_setup, teardown, NULL},
        {"delete, incr, delete, flush",
         test_delete_incr_delete_flush,
         test_setup, teardown, NULL},
        {"delete, incr, delete, incr",
         test_delete_incr_delete_incr,
         test_setup, teardown, NULL},
        {"delete, incr, delete, incrWithDefault",
         test_delete_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, delete, prepend",
         test_delete_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, delete, set",
         test_delete_incr_delete_set,
         test_setup, teardown, NULL},
        {"delete, incr, flush, add",
         test_delete_incr_flush_add,
         test_setup, teardown, NULL},
        {"delete, incr, flush, append",
         test_delete_incr_flush_append,
         test_setup, teardown, NULL},
        {"delete, incr, flush, decr",
         test_delete_incr_flush_decr,
         test_setup, teardown, NULL},
        {"delete, incr, flush, decrWithDefault",
         test_delete_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, flush, delay",
         test_delete_incr_flush_delay,
         test_setup, teardown, NULL},
        {"delete, incr, flush, delete",
         test_delete_incr_flush_delete,
         test_setup, teardown, NULL},
        {"delete, incr, flush, flush",
         test_delete_incr_flush_flush,
         test_setup, teardown, NULL},
        {"delete, incr, flush, incr",
         test_delete_incr_flush_incr,
         test_setup, teardown, NULL},
        {"delete, incr, flush, incrWithDefault",
         test_delete_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, flush, prepend",
         test_delete_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, flush, set",
         test_delete_incr_flush_set,
         test_setup, teardown, NULL},
        {"delete, incr, incr, add",
         test_delete_incr_incr_add,
         test_setup, teardown, NULL},
        {"delete, incr, incr, append",
         test_delete_incr_incr_append,
         test_setup, teardown, NULL},
        {"delete, incr, incr, decr",
         test_delete_incr_incr_decr,
         test_setup, teardown, NULL},
        {"delete, incr, incr, decrWithDefault",
         test_delete_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, incr, delay",
         test_delete_incr_incr_delay,
         test_setup, teardown, NULL},
        {"delete, incr, incr, delete",
         test_delete_incr_incr_delete,
         test_setup, teardown, NULL},
        {"delete, incr, incr, flush",
         test_delete_incr_incr_flush,
         test_setup, teardown, NULL},
        {"delete, incr, incr, incr",
         test_delete_incr_incr_incr,
         test_setup, teardown, NULL},
        {"delete, incr, incr, incrWithDefault",
         test_delete_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, incr, prepend",
         test_delete_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, incr, set",
         test_delete_incr_incr_set,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, add",
         test_delete_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, append",
         test_delete_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, decr",
         test_delete_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, decrWithDefault",
         test_delete_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, delay",
         test_delete_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, delete",
         test_delete_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, flush",
         test_delete_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, incr",
         test_delete_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, incrWithDefault",
         test_delete_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, prepend",
         test_delete_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, incrWithDefault, set",
         test_delete_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, add",
         test_delete_incr_prepend_add,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, append",
         test_delete_incr_prepend_append,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, decr",
         test_delete_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, decrWithDefault",
         test_delete_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, delay",
         test_delete_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, delete",
         test_delete_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, flush",
         test_delete_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, incr",
         test_delete_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, incrWithDefault",
         test_delete_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, prepend",
         test_delete_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, prepend, set",
         test_delete_incr_prepend_set,
         test_setup, teardown, NULL},
        {"delete, incr, set, add",
         test_delete_incr_set_add,
         test_setup, teardown, NULL},
        {"delete, incr, set, append",
         test_delete_incr_set_append,
         test_setup, teardown, NULL},
        {"delete, incr, set, decr",
         test_delete_incr_set_decr,
         test_setup, teardown, NULL},
        {"delete, incr, set, decrWithDefault",
         test_delete_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, set, delay",
         test_delete_incr_set_delay,
         test_setup, teardown, NULL},
        {"delete, incr, set, delete",
         test_delete_incr_set_delete,
         test_setup, teardown, NULL},
        {"delete, incr, set, flush",
         test_delete_incr_set_flush,
         test_setup, teardown, NULL},
        {"delete, incr, set, incr",
         test_delete_incr_set_incr,
         test_setup, teardown, NULL},
        {"delete, incr, set, incrWithDefault",
         test_delete_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incr, set, prepend",
         test_delete_incr_set_prepend,
         test_setup, teardown, NULL},
        {"delete, incr, set, set",
         test_delete_incr_set_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, add",
         test_delete_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, append",
         test_delete_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, decr",
         test_delete_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, decrWithDefault",
         test_delete_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, delay",
         test_delete_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, delete",
         test_delete_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, flush",
         test_delete_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, incr",
         test_delete_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, incrWithDefault",
         test_delete_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, prepend",
         test_delete_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, add, set",
         test_delete_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, add",
         test_delete_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, append",
         test_delete_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, decr",
         test_delete_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, decrWithDefault",
         test_delete_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, delay",
         test_delete_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, delete",
         test_delete_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, flush",
         test_delete_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, incr",
         test_delete_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, incrWithDefault",
         test_delete_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, prepend",
         test_delete_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, append, set",
         test_delete_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, add",
         test_delete_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, append",
         test_delete_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, decr",
         test_delete_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, decrWithDefault",
         test_delete_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, delay",
         test_delete_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, delete",
         test_delete_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, flush",
         test_delete_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, incr",
         test_delete_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, incrWithDefault",
         test_delete_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, prepend",
         test_delete_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decr, set",
         test_delete_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, add",
         test_delete_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, append",
         test_delete_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, decr",
         test_delete_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, decrWithDefault",
         test_delete_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, delay",
         test_delete_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, delete",
         test_delete_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, flush",
         test_delete_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, incr",
         test_delete_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, incrWithDefault",
         test_delete_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, prepend",
         test_delete_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, decrWithDefault, set",
         test_delete_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, add",
         test_delete_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, append",
         test_delete_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, decr",
         test_delete_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, decrWithDefault",
         test_delete_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, delay",
         test_delete_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, delete",
         test_delete_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, flush",
         test_delete_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, incr",
         test_delete_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, incrWithDefault",
         test_delete_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, prepend",
         test_delete_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delay, set",
         test_delete_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, add",
         test_delete_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, append",
         test_delete_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, decr",
         test_delete_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, decrWithDefault",
         test_delete_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, delay",
         test_delete_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, delete",
         test_delete_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, flush",
         test_delete_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, incr",
         test_delete_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, incrWithDefault",
         test_delete_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, prepend",
         test_delete_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, delete, set",
         test_delete_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, add",
         test_delete_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, append",
         test_delete_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, decr",
         test_delete_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, decrWithDefault",
         test_delete_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, delay",
         test_delete_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, delete",
         test_delete_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, flush",
         test_delete_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, incr",
         test_delete_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, incrWithDefault",
         test_delete_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, prepend",
         test_delete_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, flush, set",
         test_delete_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, add",
         test_delete_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, append",
         test_delete_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, decr",
         test_delete_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, decrWithDefault",
         test_delete_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, delay",
         test_delete_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, delete",
         test_delete_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, flush",
         test_delete_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, incr",
         test_delete_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, incrWithDefault",
         test_delete_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, prepend",
         test_delete_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incr, set",
         test_delete_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, add",
         test_delete_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, append",
         test_delete_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, decr",
         test_delete_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, decrWithDefault",
         test_delete_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, delay",
         test_delete_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, delete",
         test_delete_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, flush",
         test_delete_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, incr",
         test_delete_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, incrWithDefault",
         test_delete_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, prepend",
         test_delete_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, incrWithDefault, set",
         test_delete_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, add",
         test_delete_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, append",
         test_delete_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, decr",
         test_delete_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, decrWithDefault",
         test_delete_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, delay",
         test_delete_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, delete",
         test_delete_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, flush",
         test_delete_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, incr",
         test_delete_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, incrWithDefault",
         test_delete_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, prepend",
         test_delete_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, prepend, set",
         test_delete_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, add",
         test_delete_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, append",
         test_delete_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, decr",
         test_delete_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, decrWithDefault",
         test_delete_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, delay",
         test_delete_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, delete",
         test_delete_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, flush",
         test_delete_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, incr",
         test_delete_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, incrWithDefault",
         test_delete_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, prepend",
         test_delete_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"delete, incrWithDefault, set, set",
         test_delete_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"delete, prepend, add, add",
         test_delete_prepend_add_add,
         test_setup, teardown, NULL},
        {"delete, prepend, add, append",
         test_delete_prepend_add_append,
         test_setup, teardown, NULL},
        {"delete, prepend, add, decr",
         test_delete_prepend_add_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, add, decrWithDefault",
         test_delete_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, add, delay",
         test_delete_prepend_add_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, add, delete",
         test_delete_prepend_add_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, add, flush",
         test_delete_prepend_add_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, add, incr",
         test_delete_prepend_add_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, add, incrWithDefault",
         test_delete_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, add, prepend",
         test_delete_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, add, set",
         test_delete_prepend_add_set,
         test_setup, teardown, NULL},
        {"delete, prepend, append, add",
         test_delete_prepend_append_add,
         test_setup, teardown, NULL},
        {"delete, prepend, append, append",
         test_delete_prepend_append_append,
         test_setup, teardown, NULL},
        {"delete, prepend, append, decr",
         test_delete_prepend_append_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, append, decrWithDefault",
         test_delete_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, append, delay",
         test_delete_prepend_append_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, append, delete",
         test_delete_prepend_append_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, append, flush",
         test_delete_prepend_append_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, append, incr",
         test_delete_prepend_append_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, append, incrWithDefault",
         test_delete_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, append, prepend",
         test_delete_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, append, set",
         test_delete_prepend_append_set,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, add",
         test_delete_prepend_decr_add,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, append",
         test_delete_prepend_decr_append,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, decr",
         test_delete_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, decrWithDefault",
         test_delete_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, delay",
         test_delete_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, delete",
         test_delete_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, flush",
         test_delete_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, incr",
         test_delete_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, incrWithDefault",
         test_delete_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, prepend",
         test_delete_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, decr, set",
         test_delete_prepend_decr_set,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, add",
         test_delete_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, append",
         test_delete_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, decr",
         test_delete_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, decrWithDefault",
         test_delete_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, delay",
         test_delete_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, delete",
         test_delete_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, flush",
         test_delete_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, incr",
         test_delete_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, incrWithDefault",
         test_delete_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, prepend",
         test_delete_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, decrWithDefault, set",
         test_delete_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, add",
         test_delete_prepend_delay_add,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, append",
         test_delete_prepend_delay_append,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, decr",
         test_delete_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, decrWithDefault",
         test_delete_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, delay",
         test_delete_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, delete",
         test_delete_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, flush",
         test_delete_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, incr",
         test_delete_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, incrWithDefault",
         test_delete_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, prepend",
         test_delete_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, delay, set",
         test_delete_prepend_delay_set,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, add",
         test_delete_prepend_delete_add,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, append",
         test_delete_prepend_delete_append,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, decr",
         test_delete_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, decrWithDefault",
         test_delete_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, delay",
         test_delete_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, delete",
         test_delete_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, flush",
         test_delete_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, incr",
         test_delete_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, incrWithDefault",
         test_delete_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, prepend",
         test_delete_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, delete, set",
         test_delete_prepend_delete_set,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, add",
         test_delete_prepend_flush_add,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, append",
         test_delete_prepend_flush_append,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, decr",
         test_delete_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, decrWithDefault",
         test_delete_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, delay",
         test_delete_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, delete",
         test_delete_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, flush",
         test_delete_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, incr",
         test_delete_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, incrWithDefault",
         test_delete_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, prepend",
         test_delete_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, flush, set",
         test_delete_prepend_flush_set,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, add",
         test_delete_prepend_incr_add,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, append",
         test_delete_prepend_incr_append,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, decr",
         test_delete_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, decrWithDefault",
         test_delete_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, delay",
         test_delete_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, delete",
         test_delete_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, flush",
         test_delete_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, incr",
         test_delete_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, incrWithDefault",
         test_delete_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, prepend",
         test_delete_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, incr, set",
         test_delete_prepend_incr_set,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, add",
         test_delete_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, append",
         test_delete_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, decr",
         test_delete_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, decrWithDefault",
         test_delete_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, delay",
         test_delete_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, delete",
         test_delete_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, flush",
         test_delete_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, incr",
         test_delete_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, incrWithDefault",
         test_delete_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, prepend",
         test_delete_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, incrWithDefault, set",
         test_delete_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, add",
         test_delete_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, append",
         test_delete_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, decr",
         test_delete_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, decrWithDefault",
         test_delete_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, delay",
         test_delete_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, delete",
         test_delete_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, flush",
         test_delete_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, incr",
         test_delete_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, incrWithDefault",
         test_delete_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, prepend",
         test_delete_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, prepend, set",
         test_delete_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"delete, prepend, set, add",
         test_delete_prepend_set_add,
         test_setup, teardown, NULL},
        {"delete, prepend, set, append",
         test_delete_prepend_set_append,
         test_setup, teardown, NULL},
        {"delete, prepend, set, decr",
         test_delete_prepend_set_decr,
         test_setup, teardown, NULL},
        {"delete, prepend, set, decrWithDefault",
         test_delete_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, set, delay",
         test_delete_prepend_set_delay,
         test_setup, teardown, NULL},
        {"delete, prepend, set, delete",
         test_delete_prepend_set_delete,
         test_setup, teardown, NULL},
        {"delete, prepend, set, flush",
         test_delete_prepend_set_flush,
         test_setup, teardown, NULL},
        {"delete, prepend, set, incr",
         test_delete_prepend_set_incr,
         test_setup, teardown, NULL},
        {"delete, prepend, set, incrWithDefault",
         test_delete_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, prepend, set, prepend",
         test_delete_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"delete, prepend, set, set",
         test_delete_prepend_set_set,
         test_setup, teardown, NULL},
        {"delete, set, add, add",
         test_delete_set_add_add,
         test_setup, teardown, NULL},
        {"delete, set, add, append",
         test_delete_set_add_append,
         test_setup, teardown, NULL},
        {"delete, set, add, decr",
         test_delete_set_add_decr,
         test_setup, teardown, NULL},
        {"delete, set, add, decrWithDefault",
         test_delete_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, add, delay",
         test_delete_set_add_delay,
         test_setup, teardown, NULL},
        {"delete, set, add, delete",
         test_delete_set_add_delete,
         test_setup, teardown, NULL},
        {"delete, set, add, flush",
         test_delete_set_add_flush,
         test_setup, teardown, NULL},
        {"delete, set, add, incr",
         test_delete_set_add_incr,
         test_setup, teardown, NULL},
        {"delete, set, add, incrWithDefault",
         test_delete_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, add, prepend",
         test_delete_set_add_prepend,
         test_setup, teardown, NULL},
        {"delete, set, add, set",
         test_delete_set_add_set,
         test_setup, teardown, NULL},
        {"delete, set, append, add",
         test_delete_set_append_add,
         test_setup, teardown, NULL},
        {"delete, set, append, append",
         test_delete_set_append_append,
         test_setup, teardown, NULL},
        {"delete, set, append, decr",
         test_delete_set_append_decr,
         test_setup, teardown, NULL},
        {"delete, set, append, decrWithDefault",
         test_delete_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, append, delay",
         test_delete_set_append_delay,
         test_setup, teardown, NULL},
        {"delete, set, append, delete",
         test_delete_set_append_delete,
         test_setup, teardown, NULL},
        {"delete, set, append, flush",
         test_delete_set_append_flush,
         test_setup, teardown, NULL},
        {"delete, set, append, incr",
         test_delete_set_append_incr,
         test_setup, teardown, NULL},
        {"delete, set, append, incrWithDefault",
         test_delete_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, append, prepend",
         test_delete_set_append_prepend,
         test_setup, teardown, NULL},
        {"delete, set, append, set",
         test_delete_set_append_set,
         test_setup, teardown, NULL},
        {"delete, set, decr, add",
         test_delete_set_decr_add,
         test_setup, teardown, NULL},
        {"delete, set, decr, append",
         test_delete_set_decr_append,
         test_setup, teardown, NULL},
        {"delete, set, decr, decr",
         test_delete_set_decr_decr,
         test_setup, teardown, NULL},
        {"delete, set, decr, decrWithDefault",
         test_delete_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, decr, delay",
         test_delete_set_decr_delay,
         test_setup, teardown, NULL},
        {"delete, set, decr, delete",
         test_delete_set_decr_delete,
         test_setup, teardown, NULL},
        {"delete, set, decr, flush",
         test_delete_set_decr_flush,
         test_setup, teardown, NULL},
        {"delete, set, decr, incr",
         test_delete_set_decr_incr,
         test_setup, teardown, NULL},
        {"delete, set, decr, incrWithDefault",
         test_delete_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, decr, prepend",
         test_delete_set_decr_prepend,
         test_setup, teardown, NULL},
        {"delete, set, decr, set",
         test_delete_set_decr_set,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, add",
         test_delete_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, append",
         test_delete_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, decr",
         test_delete_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, decrWithDefault",
         test_delete_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, delay",
         test_delete_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, delete",
         test_delete_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, flush",
         test_delete_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, incr",
         test_delete_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, incrWithDefault",
         test_delete_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, prepend",
         test_delete_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, set, decrWithDefault, set",
         test_delete_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, set, delay, add",
         test_delete_set_delay_add,
         test_setup, teardown, NULL},
        {"delete, set, delay, append",
         test_delete_set_delay_append,
         test_setup, teardown, NULL},
        {"delete, set, delay, decr",
         test_delete_set_delay_decr,
         test_setup, teardown, NULL},
        {"delete, set, delay, decrWithDefault",
         test_delete_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, delay, delay",
         test_delete_set_delay_delay,
         test_setup, teardown, NULL},
        {"delete, set, delay, delete",
         test_delete_set_delay_delete,
         test_setup, teardown, NULL},
        {"delete, set, delay, flush",
         test_delete_set_delay_flush,
         test_setup, teardown, NULL},
        {"delete, set, delay, incr",
         test_delete_set_delay_incr,
         test_setup, teardown, NULL},
        {"delete, set, delay, incrWithDefault",
         test_delete_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, delay, prepend",
         test_delete_set_delay_prepend,
         test_setup, teardown, NULL},
        {"delete, set, delay, set",
         test_delete_set_delay_set,
         test_setup, teardown, NULL},
        {"delete, set, delete, add",
         test_delete_set_delete_add,
         test_setup, teardown, NULL},
        {"delete, set, delete, append",
         test_delete_set_delete_append,
         test_setup, teardown, NULL},
        {"delete, set, delete, decr",
         test_delete_set_delete_decr,
         test_setup, teardown, NULL},
        {"delete, set, delete, decrWithDefault",
         test_delete_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, delete, delay",
         test_delete_set_delete_delay,
         test_setup, teardown, NULL},
        {"delete, set, delete, delete",
         test_delete_set_delete_delete,
         test_setup, teardown, NULL},
        {"delete, set, delete, flush",
         test_delete_set_delete_flush,
         test_setup, teardown, NULL},
        {"delete, set, delete, incr",
         test_delete_set_delete_incr,
         test_setup, teardown, NULL},
        {"delete, set, delete, incrWithDefault",
         test_delete_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, delete, prepend",
         test_delete_set_delete_prepend,
         test_setup, teardown, NULL},
        {"delete, set, delete, set",
         test_delete_set_delete_set,
         test_setup, teardown, NULL},
        {"delete, set, flush, add",
         test_delete_set_flush_add,
         test_setup, teardown, NULL},
        {"delete, set, flush, append",
         test_delete_set_flush_append,
         test_setup, teardown, NULL},
        {"delete, set, flush, decr",
         test_delete_set_flush_decr,
         test_setup, teardown, NULL},
        {"delete, set, flush, decrWithDefault",
         test_delete_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, flush, delay",
         test_delete_set_flush_delay,
         test_setup, teardown, NULL},
        {"delete, set, flush, delete",
         test_delete_set_flush_delete,
         test_setup, teardown, NULL},
        {"delete, set, flush, flush",
         test_delete_set_flush_flush,
         test_setup, teardown, NULL},
        {"delete, set, flush, incr",
         test_delete_set_flush_incr,
         test_setup, teardown, NULL},
        {"delete, set, flush, incrWithDefault",
         test_delete_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, flush, prepend",
         test_delete_set_flush_prepend,
         test_setup, teardown, NULL},
        {"delete, set, flush, set",
         test_delete_set_flush_set,
         test_setup, teardown, NULL},
        {"delete, set, incr, add",
         test_delete_set_incr_add,
         test_setup, teardown, NULL},
        {"delete, set, incr, append",
         test_delete_set_incr_append,
         test_setup, teardown, NULL},
        {"delete, set, incr, decr",
         test_delete_set_incr_decr,
         test_setup, teardown, NULL},
        {"delete, set, incr, decrWithDefault",
         test_delete_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, incr, delay",
         test_delete_set_incr_delay,
         test_setup, teardown, NULL},
        {"delete, set, incr, delete",
         test_delete_set_incr_delete,
         test_setup, teardown, NULL},
        {"delete, set, incr, flush",
         test_delete_set_incr_flush,
         test_setup, teardown, NULL},
        {"delete, set, incr, incr",
         test_delete_set_incr_incr,
         test_setup, teardown, NULL},
        {"delete, set, incr, incrWithDefault",
         test_delete_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, incr, prepend",
         test_delete_set_incr_prepend,
         test_setup, teardown, NULL},
        {"delete, set, incr, set",
         test_delete_set_incr_set,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, add",
         test_delete_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, append",
         test_delete_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, decr",
         test_delete_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, decrWithDefault",
         test_delete_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, delay",
         test_delete_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, delete",
         test_delete_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, flush",
         test_delete_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, incr",
         test_delete_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, incrWithDefault",
         test_delete_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, prepend",
         test_delete_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"delete, set, incrWithDefault, set",
         test_delete_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"delete, set, prepend, add",
         test_delete_set_prepend_add,
         test_setup, teardown, NULL},
        {"delete, set, prepend, append",
         test_delete_set_prepend_append,
         test_setup, teardown, NULL},
        {"delete, set, prepend, decr",
         test_delete_set_prepend_decr,
         test_setup, teardown, NULL},
        {"delete, set, prepend, decrWithDefault",
         test_delete_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, prepend, delay",
         test_delete_set_prepend_delay,
         test_setup, teardown, NULL},
        {"delete, set, prepend, delete",
         test_delete_set_prepend_delete,
         test_setup, teardown, NULL},
        {"delete, set, prepend, flush",
         test_delete_set_prepend_flush,
         test_setup, teardown, NULL},
        {"delete, set, prepend, incr",
         test_delete_set_prepend_incr,
         test_setup, teardown, NULL},
        {"delete, set, prepend, incrWithDefault",
         test_delete_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, prepend, prepend",
         test_delete_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"delete, set, prepend, set",
         test_delete_set_prepend_set,
         test_setup, teardown, NULL},
        {"delete, set, set, add",
         test_delete_set_set_add,
         test_setup, teardown, NULL},
        {"delete, set, set, append",
         test_delete_set_set_append,
         test_setup, teardown, NULL},
        {"delete, set, set, decr",
         test_delete_set_set_decr,
         test_setup, teardown, NULL},
        {"delete, set, set, decrWithDefault",
         test_delete_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, set, delay",
         test_delete_set_set_delay,
         test_setup, teardown, NULL},
        {"delete, set, set, delete",
         test_delete_set_set_delete,
         test_setup, teardown, NULL},
        {"delete, set, set, flush",
         test_delete_set_set_flush,
         test_setup, teardown, NULL},
        {"delete, set, set, incr",
         test_delete_set_set_incr,
         test_setup, teardown, NULL},
        {"delete, set, set, incrWithDefault",
         test_delete_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"delete, set, set, prepend",
         test_delete_set_set_prepend,
         test_setup, teardown, NULL},
        {"delete, set, set, set",
         test_delete_set_set_set,
         test_setup, teardown, NULL},
        {"flush, add, add, add",
         test_flush_add_add_add,
         test_setup, teardown, NULL},
        {"flush, add, add, append",
         test_flush_add_add_append,
         test_setup, teardown, NULL},
        {"flush, add, add, decr",
         test_flush_add_add_decr,
         test_setup, teardown, NULL},
        {"flush, add, add, decrWithDefault",
         test_flush_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, add, delay",
         test_flush_add_add_delay,
         test_setup, teardown, NULL},
        {"flush, add, add, delete",
         test_flush_add_add_delete,
         test_setup, teardown, NULL},
        {"flush, add, add, flush",
         test_flush_add_add_flush,
         test_setup, teardown, NULL},
        {"flush, add, add, incr",
         test_flush_add_add_incr,
         test_setup, teardown, NULL},
        {"flush, add, add, incrWithDefault",
         test_flush_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, add, prepend",
         test_flush_add_add_prepend,
         test_setup, teardown, NULL},
        {"flush, add, add, set",
         test_flush_add_add_set,
         test_setup, teardown, NULL},
        {"flush, add, append, add",
         test_flush_add_append_add,
         test_setup, teardown, NULL},
        {"flush, add, append, append",
         test_flush_add_append_append,
         test_setup, teardown, NULL},
        {"flush, add, append, decr",
         test_flush_add_append_decr,
         test_setup, teardown, NULL},
        {"flush, add, append, decrWithDefault",
         test_flush_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, append, delay",
         test_flush_add_append_delay,
         test_setup, teardown, NULL},
        {"flush, add, append, delete",
         test_flush_add_append_delete,
         test_setup, teardown, NULL},
        {"flush, add, append, flush",
         test_flush_add_append_flush,
         test_setup, teardown, NULL},
        {"flush, add, append, incr",
         test_flush_add_append_incr,
         test_setup, teardown, NULL},
        {"flush, add, append, incrWithDefault",
         test_flush_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, append, prepend",
         test_flush_add_append_prepend,
         test_setup, teardown, NULL},
        {"flush, add, append, set",
         test_flush_add_append_set,
         test_setup, teardown, NULL},
        {"flush, add, decr, add",
         test_flush_add_decr_add,
         test_setup, teardown, NULL},
        {"flush, add, decr, append",
         test_flush_add_decr_append,
         test_setup, teardown, NULL},
        {"flush, add, decr, decr",
         test_flush_add_decr_decr,
         test_setup, teardown, NULL},
        {"flush, add, decr, decrWithDefault",
         test_flush_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, decr, delay",
         test_flush_add_decr_delay,
         test_setup, teardown, NULL},
        {"flush, add, decr, delete",
         test_flush_add_decr_delete,
         test_setup, teardown, NULL},
        {"flush, add, decr, flush",
         test_flush_add_decr_flush,
         test_setup, teardown, NULL},
        {"flush, add, decr, incr",
         test_flush_add_decr_incr,
         test_setup, teardown, NULL},
        {"flush, add, decr, incrWithDefault",
         test_flush_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, decr, prepend",
         test_flush_add_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, add, decr, set",
         test_flush_add_decr_set,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, add",
         test_flush_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, append",
         test_flush_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, decr",
         test_flush_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, decrWithDefault",
         test_flush_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, delay",
         test_flush_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, delete",
         test_flush_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, flush",
         test_flush_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, incr",
         test_flush_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, incrWithDefault",
         test_flush_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, prepend",
         test_flush_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, add, decrWithDefault, set",
         test_flush_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, add, delay, add",
         test_flush_add_delay_add,
         test_setup, teardown, NULL},
        {"flush, add, delay, append",
         test_flush_add_delay_append,
         test_setup, teardown, NULL},
        {"flush, add, delay, decr",
         test_flush_add_delay_decr,
         test_setup, teardown, NULL},
        {"flush, add, delay, decrWithDefault",
         test_flush_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, delay, delay",
         test_flush_add_delay_delay,
         test_setup, teardown, NULL},
        {"flush, add, delay, delete",
         test_flush_add_delay_delete,
         test_setup, teardown, NULL},
        {"flush, add, delay, flush",
         test_flush_add_delay_flush,
         test_setup, teardown, NULL},
        {"flush, add, delay, incr",
         test_flush_add_delay_incr,
         test_setup, teardown, NULL},
        {"flush, add, delay, incrWithDefault",
         test_flush_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, delay, prepend",
         test_flush_add_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, add, delay, set",
         test_flush_add_delay_set,
         test_setup, teardown, NULL},
        {"flush, add, delete, add",
         test_flush_add_delete_add,
         test_setup, teardown, NULL},
        {"flush, add, delete, append",
         test_flush_add_delete_append,
         test_setup, teardown, NULL},
        {"flush, add, delete, decr",
         test_flush_add_delete_decr,
         test_setup, teardown, NULL},
        {"flush, add, delete, decrWithDefault",
         test_flush_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, delete, delay",
         test_flush_add_delete_delay,
         test_setup, teardown, NULL},
        {"flush, add, delete, delete",
         test_flush_add_delete_delete,
         test_setup, teardown, NULL},
        {"flush, add, delete, flush",
         test_flush_add_delete_flush,
         test_setup, teardown, NULL},
        {"flush, add, delete, incr",
         test_flush_add_delete_incr,
         test_setup, teardown, NULL},
        {"flush, add, delete, incrWithDefault",
         test_flush_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, delete, prepend",
         test_flush_add_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, add, delete, set",
         test_flush_add_delete_set,
         test_setup, teardown, NULL},
        {"flush, add, flush, add",
         test_flush_add_flush_add,
         test_setup, teardown, NULL},
        {"flush, add, flush, append",
         test_flush_add_flush_append,
         test_setup, teardown, NULL},
        {"flush, add, flush, decr",
         test_flush_add_flush_decr,
         test_setup, teardown, NULL},
        {"flush, add, flush, decrWithDefault",
         test_flush_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, flush, delay",
         test_flush_add_flush_delay,
         test_setup, teardown, NULL},
        {"flush, add, flush, delete",
         test_flush_add_flush_delete,
         test_setup, teardown, NULL},
        {"flush, add, flush, flush",
         test_flush_add_flush_flush,
         test_setup, teardown, NULL},
        {"flush, add, flush, incr",
         test_flush_add_flush_incr,
         test_setup, teardown, NULL},
        {"flush, add, flush, incrWithDefault",
         test_flush_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, flush, prepend",
         test_flush_add_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, add, flush, set",
         test_flush_add_flush_set,
         test_setup, teardown, NULL},
        {"flush, add, incr, add",
         test_flush_add_incr_add,
         test_setup, teardown, NULL},
        {"flush, add, incr, append",
         test_flush_add_incr_append,
         test_setup, teardown, NULL},
        {"flush, add, incr, decr",
         test_flush_add_incr_decr,
         test_setup, teardown, NULL},
        {"flush, add, incr, decrWithDefault",
         test_flush_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, incr, delay",
         test_flush_add_incr_delay,
         test_setup, teardown, NULL},
        {"flush, add, incr, delete",
         test_flush_add_incr_delete,
         test_setup, teardown, NULL},
        {"flush, add, incr, flush",
         test_flush_add_incr_flush,
         test_setup, teardown, NULL},
        {"flush, add, incr, incr",
         test_flush_add_incr_incr,
         test_setup, teardown, NULL},
        {"flush, add, incr, incrWithDefault",
         test_flush_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, incr, prepend",
         test_flush_add_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, add, incr, set",
         test_flush_add_incr_set,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, add",
         test_flush_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, append",
         test_flush_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, decr",
         test_flush_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, decrWithDefault",
         test_flush_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, delay",
         test_flush_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, delete",
         test_flush_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, flush",
         test_flush_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, incr",
         test_flush_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, incrWithDefault",
         test_flush_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, prepend",
         test_flush_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, add, incrWithDefault, set",
         test_flush_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, add, prepend, add",
         test_flush_add_prepend_add,
         test_setup, teardown, NULL},
        {"flush, add, prepend, append",
         test_flush_add_prepend_append,
         test_setup, teardown, NULL},
        {"flush, add, prepend, decr",
         test_flush_add_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, add, prepend, decrWithDefault",
         test_flush_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, prepend, delay",
         test_flush_add_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, add, prepend, delete",
         test_flush_add_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, add, prepend, flush",
         test_flush_add_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, add, prepend, incr",
         test_flush_add_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, add, prepend, incrWithDefault",
         test_flush_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, prepend, prepend",
         test_flush_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, add, prepend, set",
         test_flush_add_prepend_set,
         test_setup, teardown, NULL},
        {"flush, add, set, add",
         test_flush_add_set_add,
         test_setup, teardown, NULL},
        {"flush, add, set, append",
         test_flush_add_set_append,
         test_setup, teardown, NULL},
        {"flush, add, set, decr",
         test_flush_add_set_decr,
         test_setup, teardown, NULL},
        {"flush, add, set, decrWithDefault",
         test_flush_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, set, delay",
         test_flush_add_set_delay,
         test_setup, teardown, NULL},
        {"flush, add, set, delete",
         test_flush_add_set_delete,
         test_setup, teardown, NULL},
        {"flush, add, set, flush",
         test_flush_add_set_flush,
         test_setup, teardown, NULL},
        {"flush, add, set, incr",
         test_flush_add_set_incr,
         test_setup, teardown, NULL},
        {"flush, add, set, incrWithDefault",
         test_flush_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, add, set, prepend",
         test_flush_add_set_prepend,
         test_setup, teardown, NULL},
        {"flush, add, set, set",
         test_flush_add_set_set,
         test_setup, teardown, NULL},
        {"flush, append, add, add",
         test_flush_append_add_add,
         test_setup, teardown, NULL},
        {"flush, append, add, append",
         test_flush_append_add_append,
         test_setup, teardown, NULL},
        {"flush, append, add, decr",
         test_flush_append_add_decr,
         test_setup, teardown, NULL},
        {"flush, append, add, decrWithDefault",
         test_flush_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, add, delay",
         test_flush_append_add_delay,
         test_setup, teardown, NULL},
        {"flush, append, add, delete",
         test_flush_append_add_delete,
         test_setup, teardown, NULL},
        {"flush, append, add, flush",
         test_flush_append_add_flush,
         test_setup, teardown, NULL},
        {"flush, append, add, incr",
         test_flush_append_add_incr,
         test_setup, teardown, NULL},
        {"flush, append, add, incrWithDefault",
         test_flush_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, add, prepend",
         test_flush_append_add_prepend,
         test_setup, teardown, NULL},
        {"flush, append, add, set",
         test_flush_append_add_set,
         test_setup, teardown, NULL},
        {"flush, append, append, add",
         test_flush_append_append_add,
         test_setup, teardown, NULL},
        {"flush, append, append, append",
         test_flush_append_append_append,
         test_setup, teardown, NULL},
        {"flush, append, append, decr",
         test_flush_append_append_decr,
         test_setup, teardown, NULL},
        {"flush, append, append, decrWithDefault",
         test_flush_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, append, delay",
         test_flush_append_append_delay,
         test_setup, teardown, NULL},
        {"flush, append, append, delete",
         test_flush_append_append_delete,
         test_setup, teardown, NULL},
        {"flush, append, append, flush",
         test_flush_append_append_flush,
         test_setup, teardown, NULL},
        {"flush, append, append, incr",
         test_flush_append_append_incr,
         test_setup, teardown, NULL},
        {"flush, append, append, incrWithDefault",
         test_flush_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, append, prepend",
         test_flush_append_append_prepend,
         test_setup, teardown, NULL},
        {"flush, append, append, set",
         test_flush_append_append_set,
         test_setup, teardown, NULL},
        {"flush, append, decr, add",
         test_flush_append_decr_add,
         test_setup, teardown, NULL},
        {"flush, append, decr, append",
         test_flush_append_decr_append,
         test_setup, teardown, NULL},
        {"flush, append, decr, decr",
         test_flush_append_decr_decr,
         test_setup, teardown, NULL},
        {"flush, append, decr, decrWithDefault",
         test_flush_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, decr, delay",
         test_flush_append_decr_delay,
         test_setup, teardown, NULL},
        {"flush, append, decr, delete",
         test_flush_append_decr_delete,
         test_setup, teardown, NULL},
        {"flush, append, decr, flush",
         test_flush_append_decr_flush,
         test_setup, teardown, NULL},
        {"flush, append, decr, incr",
         test_flush_append_decr_incr,
         test_setup, teardown, NULL},
        {"flush, append, decr, incrWithDefault",
         test_flush_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, decr, prepend",
         test_flush_append_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, append, decr, set",
         test_flush_append_decr_set,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, add",
         test_flush_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, append",
         test_flush_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, decr",
         test_flush_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, decrWithDefault",
         test_flush_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, delay",
         test_flush_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, delete",
         test_flush_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, flush",
         test_flush_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, incr",
         test_flush_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, incrWithDefault",
         test_flush_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, prepend",
         test_flush_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, append, decrWithDefault, set",
         test_flush_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, append, delay, add",
         test_flush_append_delay_add,
         test_setup, teardown, NULL},
        {"flush, append, delay, append",
         test_flush_append_delay_append,
         test_setup, teardown, NULL},
        {"flush, append, delay, decr",
         test_flush_append_delay_decr,
         test_setup, teardown, NULL},
        {"flush, append, delay, decrWithDefault",
         test_flush_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, delay, delay",
         test_flush_append_delay_delay,
         test_setup, teardown, NULL},
        {"flush, append, delay, delete",
         test_flush_append_delay_delete,
         test_setup, teardown, NULL},
        {"flush, append, delay, flush",
         test_flush_append_delay_flush,
         test_setup, teardown, NULL},
        {"flush, append, delay, incr",
         test_flush_append_delay_incr,
         test_setup, teardown, NULL},
        {"flush, append, delay, incrWithDefault",
         test_flush_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, delay, prepend",
         test_flush_append_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, append, delay, set",
         test_flush_append_delay_set,
         test_setup, teardown, NULL},
        {"flush, append, delete, add",
         test_flush_append_delete_add,
         test_setup, teardown, NULL},
        {"flush, append, delete, append",
         test_flush_append_delete_append,
         test_setup, teardown, NULL},
        {"flush, append, delete, decr",
         test_flush_append_delete_decr,
         test_setup, teardown, NULL},
        {"flush, append, delete, decrWithDefault",
         test_flush_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, delete, delay",
         test_flush_append_delete_delay,
         test_setup, teardown, NULL},
        {"flush, append, delete, delete",
         test_flush_append_delete_delete,
         test_setup, teardown, NULL},
        {"flush, append, delete, flush",
         test_flush_append_delete_flush,
         test_setup, teardown, NULL},
        {"flush, append, delete, incr",
         test_flush_append_delete_incr,
         test_setup, teardown, NULL},
        {"flush, append, delete, incrWithDefault",
         test_flush_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, delete, prepend",
         test_flush_append_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, append, delete, set",
         test_flush_append_delete_set,
         test_setup, teardown, NULL},
        {"flush, append, flush, add",
         test_flush_append_flush_add,
         test_setup, teardown, NULL},
        {"flush, append, flush, append",
         test_flush_append_flush_append,
         test_setup, teardown, NULL},
        {"flush, append, flush, decr",
         test_flush_append_flush_decr,
         test_setup, teardown, NULL},
        {"flush, append, flush, decrWithDefault",
         test_flush_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, flush, delay",
         test_flush_append_flush_delay,
         test_setup, teardown, NULL},
        {"flush, append, flush, delete",
         test_flush_append_flush_delete,
         test_setup, teardown, NULL},
        {"flush, append, flush, flush",
         test_flush_append_flush_flush,
         test_setup, teardown, NULL},
        {"flush, append, flush, incr",
         test_flush_append_flush_incr,
         test_setup, teardown, NULL},
        {"flush, append, flush, incrWithDefault",
         test_flush_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, flush, prepend",
         test_flush_append_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, append, flush, set",
         test_flush_append_flush_set,
         test_setup, teardown, NULL},
        {"flush, append, incr, add",
         test_flush_append_incr_add,
         test_setup, teardown, NULL},
        {"flush, append, incr, append",
         test_flush_append_incr_append,
         test_setup, teardown, NULL},
        {"flush, append, incr, decr",
         test_flush_append_incr_decr,
         test_setup, teardown, NULL},
        {"flush, append, incr, decrWithDefault",
         test_flush_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, incr, delay",
         test_flush_append_incr_delay,
         test_setup, teardown, NULL},
        {"flush, append, incr, delete",
         test_flush_append_incr_delete,
         test_setup, teardown, NULL},
        {"flush, append, incr, flush",
         test_flush_append_incr_flush,
         test_setup, teardown, NULL},
        {"flush, append, incr, incr",
         test_flush_append_incr_incr,
         test_setup, teardown, NULL},
        {"flush, append, incr, incrWithDefault",
         test_flush_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, incr, prepend",
         test_flush_append_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, append, incr, set",
         test_flush_append_incr_set,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, add",
         test_flush_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, append",
         test_flush_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, decr",
         test_flush_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, decrWithDefault",
         test_flush_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, delay",
         test_flush_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, delete",
         test_flush_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, flush",
         test_flush_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, incr",
         test_flush_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, incrWithDefault",
         test_flush_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, prepend",
         test_flush_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, append, incrWithDefault, set",
         test_flush_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, append, prepend, add",
         test_flush_append_prepend_add,
         test_setup, teardown, NULL},
        {"flush, append, prepend, append",
         test_flush_append_prepend_append,
         test_setup, teardown, NULL},
        {"flush, append, prepend, decr",
         test_flush_append_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, append, prepend, decrWithDefault",
         test_flush_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, prepend, delay",
         test_flush_append_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, append, prepend, delete",
         test_flush_append_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, append, prepend, flush",
         test_flush_append_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, append, prepend, incr",
         test_flush_append_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, append, prepend, incrWithDefault",
         test_flush_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, prepend, prepend",
         test_flush_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, append, prepend, set",
         test_flush_append_prepend_set,
         test_setup, teardown, NULL},
        {"flush, append, set, add",
         test_flush_append_set_add,
         test_setup, teardown, NULL},
        {"flush, append, set, append",
         test_flush_append_set_append,
         test_setup, teardown, NULL},
        {"flush, append, set, decr",
         test_flush_append_set_decr,
         test_setup, teardown, NULL},
        {"flush, append, set, decrWithDefault",
         test_flush_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, set, delay",
         test_flush_append_set_delay,
         test_setup, teardown, NULL},
        {"flush, append, set, delete",
         test_flush_append_set_delete,
         test_setup, teardown, NULL},
        {"flush, append, set, flush",
         test_flush_append_set_flush,
         test_setup, teardown, NULL},
        {"flush, append, set, incr",
         test_flush_append_set_incr,
         test_setup, teardown, NULL},
        {"flush, append, set, incrWithDefault",
         test_flush_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, append, set, prepend",
         test_flush_append_set_prepend,
         test_setup, teardown, NULL},
        {"flush, append, set, set",
         test_flush_append_set_set,
         test_setup, teardown, NULL},
        {"flush, decr, add, add",
         test_flush_decr_add_add,
         test_setup, teardown, NULL},
        {"flush, decr, add, append",
         test_flush_decr_add_append,
         test_setup, teardown, NULL},
        {"flush, decr, add, decr",
         test_flush_decr_add_decr,
         test_setup, teardown, NULL},
        {"flush, decr, add, decrWithDefault",
         test_flush_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, add, delay",
         test_flush_decr_add_delay,
         test_setup, teardown, NULL},
        {"flush, decr, add, delete",
         test_flush_decr_add_delete,
         test_setup, teardown, NULL},
        {"flush, decr, add, flush",
         test_flush_decr_add_flush,
         test_setup, teardown, NULL},
        {"flush, decr, add, incr",
         test_flush_decr_add_incr,
         test_setup, teardown, NULL},
        {"flush, decr, add, incrWithDefault",
         test_flush_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, add, prepend",
         test_flush_decr_add_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, add, set",
         test_flush_decr_add_set,
         test_setup, teardown, NULL},
        {"flush, decr, append, add",
         test_flush_decr_append_add,
         test_setup, teardown, NULL},
        {"flush, decr, append, append",
         test_flush_decr_append_append,
         test_setup, teardown, NULL},
        {"flush, decr, append, decr",
         test_flush_decr_append_decr,
         test_setup, teardown, NULL},
        {"flush, decr, append, decrWithDefault",
         test_flush_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, append, delay",
         test_flush_decr_append_delay,
         test_setup, teardown, NULL},
        {"flush, decr, append, delete",
         test_flush_decr_append_delete,
         test_setup, teardown, NULL},
        {"flush, decr, append, flush",
         test_flush_decr_append_flush,
         test_setup, teardown, NULL},
        {"flush, decr, append, incr",
         test_flush_decr_append_incr,
         test_setup, teardown, NULL},
        {"flush, decr, append, incrWithDefault",
         test_flush_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, append, prepend",
         test_flush_decr_append_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, append, set",
         test_flush_decr_append_set,
         test_setup, teardown, NULL},
        {"flush, decr, decr, add",
         test_flush_decr_decr_add,
         test_setup, teardown, NULL},
        {"flush, decr, decr, append",
         test_flush_decr_decr_append,
         test_setup, teardown, NULL},
        {"flush, decr, decr, decr",
         test_flush_decr_decr_decr,
         test_setup, teardown, NULL},
        {"flush, decr, decr, decrWithDefault",
         test_flush_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, decr, delay",
         test_flush_decr_decr_delay,
         test_setup, teardown, NULL},
        {"flush, decr, decr, delete",
         test_flush_decr_decr_delete,
         test_setup, teardown, NULL},
        {"flush, decr, decr, flush",
         test_flush_decr_decr_flush,
         test_setup, teardown, NULL},
        {"flush, decr, decr, incr",
         test_flush_decr_decr_incr,
         test_setup, teardown, NULL},
        {"flush, decr, decr, incrWithDefault",
         test_flush_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, decr, prepend",
         test_flush_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, decr, set",
         test_flush_decr_decr_set,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, add",
         test_flush_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, append",
         test_flush_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, decr",
         test_flush_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, decrWithDefault",
         test_flush_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, delay",
         test_flush_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, delete",
         test_flush_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, flush",
         test_flush_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, incr",
         test_flush_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, incrWithDefault",
         test_flush_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, prepend",
         test_flush_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, decrWithDefault, set",
         test_flush_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, decr, delay, add",
         test_flush_decr_delay_add,
         test_setup, teardown, NULL},
        {"flush, decr, delay, append",
         test_flush_decr_delay_append,
         test_setup, teardown, NULL},
        {"flush, decr, delay, decr",
         test_flush_decr_delay_decr,
         test_setup, teardown, NULL},
        {"flush, decr, delay, decrWithDefault",
         test_flush_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, delay, delay",
         test_flush_decr_delay_delay,
         test_setup, teardown, NULL},
        {"flush, decr, delay, delete",
         test_flush_decr_delay_delete,
         test_setup, teardown, NULL},
        {"flush, decr, delay, flush",
         test_flush_decr_delay_flush,
         test_setup, teardown, NULL},
        {"flush, decr, delay, incr",
         test_flush_decr_delay_incr,
         test_setup, teardown, NULL},
        {"flush, decr, delay, incrWithDefault",
         test_flush_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, delay, prepend",
         test_flush_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, delay, set",
         test_flush_decr_delay_set,
         test_setup, teardown, NULL},
        {"flush, decr, delete, add",
         test_flush_decr_delete_add,
         test_setup, teardown, NULL},
        {"flush, decr, delete, append",
         test_flush_decr_delete_append,
         test_setup, teardown, NULL},
        {"flush, decr, delete, decr",
         test_flush_decr_delete_decr,
         test_setup, teardown, NULL},
        {"flush, decr, delete, decrWithDefault",
         test_flush_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, delete, delay",
         test_flush_decr_delete_delay,
         test_setup, teardown, NULL},
        {"flush, decr, delete, delete",
         test_flush_decr_delete_delete,
         test_setup, teardown, NULL},
        {"flush, decr, delete, flush",
         test_flush_decr_delete_flush,
         test_setup, teardown, NULL},
        {"flush, decr, delete, incr",
         test_flush_decr_delete_incr,
         test_setup, teardown, NULL},
        {"flush, decr, delete, incrWithDefault",
         test_flush_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, delete, prepend",
         test_flush_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, delete, set",
         test_flush_decr_delete_set,
         test_setup, teardown, NULL},
        {"flush, decr, flush, add",
         test_flush_decr_flush_add,
         test_setup, teardown, NULL},
        {"flush, decr, flush, append",
         test_flush_decr_flush_append,
         test_setup, teardown, NULL},
        {"flush, decr, flush, decr",
         test_flush_decr_flush_decr,
         test_setup, teardown, NULL},
        {"flush, decr, flush, decrWithDefault",
         test_flush_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, flush, delay",
         test_flush_decr_flush_delay,
         test_setup, teardown, NULL},
        {"flush, decr, flush, delete",
         test_flush_decr_flush_delete,
         test_setup, teardown, NULL},
        {"flush, decr, flush, flush",
         test_flush_decr_flush_flush,
         test_setup, teardown, NULL},
        {"flush, decr, flush, incr",
         test_flush_decr_flush_incr,
         test_setup, teardown, NULL},
        {"flush, decr, flush, incrWithDefault",
         test_flush_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, flush, prepend",
         test_flush_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, flush, set",
         test_flush_decr_flush_set,
         test_setup, teardown, NULL},
        {"flush, decr, incr, add",
         test_flush_decr_incr_add,
         test_setup, teardown, NULL},
        {"flush, decr, incr, append",
         test_flush_decr_incr_append,
         test_setup, teardown, NULL},
        {"flush, decr, incr, decr",
         test_flush_decr_incr_decr,
         test_setup, teardown, NULL},
        {"flush, decr, incr, decrWithDefault",
         test_flush_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, incr, delay",
         test_flush_decr_incr_delay,
         test_setup, teardown, NULL},
        {"flush, decr, incr, delete",
         test_flush_decr_incr_delete,
         test_setup, teardown, NULL},
        {"flush, decr, incr, flush",
         test_flush_decr_incr_flush,
         test_setup, teardown, NULL},
        {"flush, decr, incr, incr",
         test_flush_decr_incr_incr,
         test_setup, teardown, NULL},
        {"flush, decr, incr, incrWithDefault",
         test_flush_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, incr, prepend",
         test_flush_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, incr, set",
         test_flush_decr_incr_set,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, add",
         test_flush_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, append",
         test_flush_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, decr",
         test_flush_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, decrWithDefault",
         test_flush_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, delay",
         test_flush_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, delete",
         test_flush_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, flush",
         test_flush_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, incr",
         test_flush_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, incrWithDefault",
         test_flush_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, prepend",
         test_flush_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, incrWithDefault, set",
         test_flush_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, add",
         test_flush_decr_prepend_add,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, append",
         test_flush_decr_prepend_append,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, decr",
         test_flush_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, decrWithDefault",
         test_flush_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, delay",
         test_flush_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, delete",
         test_flush_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, flush",
         test_flush_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, incr",
         test_flush_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, incrWithDefault",
         test_flush_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, prepend",
         test_flush_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, prepend, set",
         test_flush_decr_prepend_set,
         test_setup, teardown, NULL},
        {"flush, decr, set, add",
         test_flush_decr_set_add,
         test_setup, teardown, NULL},
        {"flush, decr, set, append",
         test_flush_decr_set_append,
         test_setup, teardown, NULL},
        {"flush, decr, set, decr",
         test_flush_decr_set_decr,
         test_setup, teardown, NULL},
        {"flush, decr, set, decrWithDefault",
         test_flush_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, set, delay",
         test_flush_decr_set_delay,
         test_setup, teardown, NULL},
        {"flush, decr, set, delete",
         test_flush_decr_set_delete,
         test_setup, teardown, NULL},
        {"flush, decr, set, flush",
         test_flush_decr_set_flush,
         test_setup, teardown, NULL},
        {"flush, decr, set, incr",
         test_flush_decr_set_incr,
         test_setup, teardown, NULL},
        {"flush, decr, set, incrWithDefault",
         test_flush_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decr, set, prepend",
         test_flush_decr_set_prepend,
         test_setup, teardown, NULL},
        {"flush, decr, set, set",
         test_flush_decr_set_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, add",
         test_flush_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, append",
         test_flush_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, decr",
         test_flush_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, decrWithDefault",
         test_flush_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, delay",
         test_flush_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, delete",
         test_flush_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, flush",
         test_flush_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, incr",
         test_flush_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, incrWithDefault",
         test_flush_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, prepend",
         test_flush_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, add, set",
         test_flush_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, add",
         test_flush_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, append",
         test_flush_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, decr",
         test_flush_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, decrWithDefault",
         test_flush_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, delay",
         test_flush_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, delete",
         test_flush_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, flush",
         test_flush_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, incr",
         test_flush_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, incrWithDefault",
         test_flush_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, prepend",
         test_flush_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, append, set",
         test_flush_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, add",
         test_flush_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, append",
         test_flush_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, decr",
         test_flush_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, decrWithDefault",
         test_flush_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, delay",
         test_flush_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, delete",
         test_flush_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, flush",
         test_flush_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, incr",
         test_flush_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, incrWithDefault",
         test_flush_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, prepend",
         test_flush_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decr, set",
         test_flush_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, add",
         test_flush_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, append",
         test_flush_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, decr",
         test_flush_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, decrWithDefault",
         test_flush_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, delay",
         test_flush_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, delete",
         test_flush_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, flush",
         test_flush_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, incr",
         test_flush_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, incrWithDefault",
         test_flush_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, prepend",
         test_flush_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, decrWithDefault, set",
         test_flush_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, add",
         test_flush_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, append",
         test_flush_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, decr",
         test_flush_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, decrWithDefault",
         test_flush_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, delay",
         test_flush_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, delete",
         test_flush_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, flush",
         test_flush_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, incr",
         test_flush_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, incrWithDefault",
         test_flush_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, prepend",
         test_flush_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delay, set",
         test_flush_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, add",
         test_flush_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, append",
         test_flush_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, decr",
         test_flush_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, decrWithDefault",
         test_flush_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, delay",
         test_flush_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, delete",
         test_flush_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, flush",
         test_flush_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, incr",
         test_flush_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, incrWithDefault",
         test_flush_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, prepend",
         test_flush_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, delete, set",
         test_flush_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, add",
         test_flush_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, append",
         test_flush_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, decr",
         test_flush_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, decrWithDefault",
         test_flush_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, delay",
         test_flush_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, delete",
         test_flush_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, flush",
         test_flush_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, incr",
         test_flush_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, incrWithDefault",
         test_flush_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, prepend",
         test_flush_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, flush, set",
         test_flush_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, add",
         test_flush_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, append",
         test_flush_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, decr",
         test_flush_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, decrWithDefault",
         test_flush_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, delay",
         test_flush_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, delete",
         test_flush_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, flush",
         test_flush_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, incr",
         test_flush_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, incrWithDefault",
         test_flush_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, prepend",
         test_flush_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incr, set",
         test_flush_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, add",
         test_flush_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, append",
         test_flush_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, decr",
         test_flush_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, decrWithDefault",
         test_flush_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, delay",
         test_flush_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, delete",
         test_flush_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, flush",
         test_flush_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, incr",
         test_flush_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, incrWithDefault",
         test_flush_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, prepend",
         test_flush_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, incrWithDefault, set",
         test_flush_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, add",
         test_flush_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, append",
         test_flush_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, decr",
         test_flush_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, decrWithDefault",
         test_flush_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, delay",
         test_flush_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, delete",
         test_flush_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, flush",
         test_flush_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, incr",
         test_flush_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, incrWithDefault",
         test_flush_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, prepend",
         test_flush_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, prepend, set",
         test_flush_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, add",
         test_flush_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, append",
         test_flush_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, decr",
         test_flush_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, decrWithDefault",
         test_flush_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, delay",
         test_flush_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, delete",
         test_flush_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, flush",
         test_flush_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, incr",
         test_flush_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, incrWithDefault",
         test_flush_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, prepend",
         test_flush_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"flush, decrWithDefault, set, set",
         test_flush_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"flush, delay, add, add",
         test_flush_delay_add_add,
         test_setup, teardown, NULL},
        {"flush, delay, add, append",
         test_flush_delay_add_append,
         test_setup, teardown, NULL},
        {"flush, delay, add, decr",
         test_flush_delay_add_decr,
         test_setup, teardown, NULL},
        {"flush, delay, add, decrWithDefault",
         test_flush_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, add, delay",
         test_flush_delay_add_delay,
         test_setup, teardown, NULL},
        {"flush, delay, add, delete",
         test_flush_delay_add_delete,
         test_setup, teardown, NULL},
        {"flush, delay, add, flush",
         test_flush_delay_add_flush,
         test_setup, teardown, NULL},
        {"flush, delay, add, incr",
         test_flush_delay_add_incr,
         test_setup, teardown, NULL},
        {"flush, delay, add, incrWithDefault",
         test_flush_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, add, prepend",
         test_flush_delay_add_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, add, set",
         test_flush_delay_add_set,
         test_setup, teardown, NULL},
        {"flush, delay, append, add",
         test_flush_delay_append_add,
         test_setup, teardown, NULL},
        {"flush, delay, append, append",
         test_flush_delay_append_append,
         test_setup, teardown, NULL},
        {"flush, delay, append, decr",
         test_flush_delay_append_decr,
         test_setup, teardown, NULL},
        {"flush, delay, append, decrWithDefault",
         test_flush_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, append, delay",
         test_flush_delay_append_delay,
         test_setup, teardown, NULL},
        {"flush, delay, append, delete",
         test_flush_delay_append_delete,
         test_setup, teardown, NULL},
        {"flush, delay, append, flush",
         test_flush_delay_append_flush,
         test_setup, teardown, NULL},
        {"flush, delay, append, incr",
         test_flush_delay_append_incr,
         test_setup, teardown, NULL},
        {"flush, delay, append, incrWithDefault",
         test_flush_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, append, prepend",
         test_flush_delay_append_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, append, set",
         test_flush_delay_append_set,
         test_setup, teardown, NULL},
        {"flush, delay, decr, add",
         test_flush_delay_decr_add,
         test_setup, teardown, NULL},
        {"flush, delay, decr, append",
         test_flush_delay_decr_append,
         test_setup, teardown, NULL},
        {"flush, delay, decr, decr",
         test_flush_delay_decr_decr,
         test_setup, teardown, NULL},
        {"flush, delay, decr, decrWithDefault",
         test_flush_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, decr, delay",
         test_flush_delay_decr_delay,
         test_setup, teardown, NULL},
        {"flush, delay, decr, delete",
         test_flush_delay_decr_delete,
         test_setup, teardown, NULL},
        {"flush, delay, decr, flush",
         test_flush_delay_decr_flush,
         test_setup, teardown, NULL},
        {"flush, delay, decr, incr",
         test_flush_delay_decr_incr,
         test_setup, teardown, NULL},
        {"flush, delay, decr, incrWithDefault",
         test_flush_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, decr, prepend",
         test_flush_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, decr, set",
         test_flush_delay_decr_set,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, add",
         test_flush_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, append",
         test_flush_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, decr",
         test_flush_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, decrWithDefault",
         test_flush_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, delay",
         test_flush_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, delete",
         test_flush_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, flush",
         test_flush_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, incr",
         test_flush_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, incrWithDefault",
         test_flush_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, prepend",
         test_flush_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, decrWithDefault, set",
         test_flush_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, delay, delay, add",
         test_flush_delay_delay_add,
         test_setup, teardown, NULL},
        {"flush, delay, delay, append",
         test_flush_delay_delay_append,
         test_setup, teardown, NULL},
        {"flush, delay, delay, decr",
         test_flush_delay_delay_decr,
         test_setup, teardown, NULL},
        {"flush, delay, delay, decrWithDefault",
         test_flush_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, delay, delay",
         test_flush_delay_delay_delay,
         test_setup, teardown, NULL},
        {"flush, delay, delay, delete",
         test_flush_delay_delay_delete,
         test_setup, teardown, NULL},
        {"flush, delay, delay, flush",
         test_flush_delay_delay_flush,
         test_setup, teardown, NULL},
        {"flush, delay, delay, incr",
         test_flush_delay_delay_incr,
         test_setup, teardown, NULL},
        {"flush, delay, delay, incrWithDefault",
         test_flush_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, delay, prepend",
         test_flush_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, delay, set",
         test_flush_delay_delay_set,
         test_setup, teardown, NULL},
        {"flush, delay, delete, add",
         test_flush_delay_delete_add,
         test_setup, teardown, NULL},
        {"flush, delay, delete, append",
         test_flush_delay_delete_append,
         test_setup, teardown, NULL},
        {"flush, delay, delete, decr",
         test_flush_delay_delete_decr,
         test_setup, teardown, NULL},
        {"flush, delay, delete, decrWithDefault",
         test_flush_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, delete, delay",
         test_flush_delay_delete_delay,
         test_setup, teardown, NULL},
        {"flush, delay, delete, delete",
         test_flush_delay_delete_delete,
         test_setup, teardown, NULL},
        {"flush, delay, delete, flush",
         test_flush_delay_delete_flush,
         test_setup, teardown, NULL},
        {"flush, delay, delete, incr",
         test_flush_delay_delete_incr,
         test_setup, teardown, NULL},
        {"flush, delay, delete, incrWithDefault",
         test_flush_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, delete, prepend",
         test_flush_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, delete, set",
         test_flush_delay_delete_set,
         test_setup, teardown, NULL},
        {"flush, delay, flush, add",
         test_flush_delay_flush_add,
         test_setup, teardown, NULL},
        {"flush, delay, flush, append",
         test_flush_delay_flush_append,
         test_setup, teardown, NULL},
        {"flush, delay, flush, decr",
         test_flush_delay_flush_decr,
         test_setup, teardown, NULL},
        {"flush, delay, flush, decrWithDefault",
         test_flush_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, flush, delay",
         test_flush_delay_flush_delay,
         test_setup, teardown, NULL},
        {"flush, delay, flush, delete",
         test_flush_delay_flush_delete,
         test_setup, teardown, NULL},
        {"flush, delay, flush, flush",
         test_flush_delay_flush_flush,
         test_setup, teardown, NULL},
        {"flush, delay, flush, incr",
         test_flush_delay_flush_incr,
         test_setup, teardown, NULL},
        {"flush, delay, flush, incrWithDefault",
         test_flush_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, flush, prepend",
         test_flush_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, flush, set",
         test_flush_delay_flush_set,
         test_setup, teardown, NULL},
        {"flush, delay, incr, add",
         test_flush_delay_incr_add,
         test_setup, teardown, NULL},
        {"flush, delay, incr, append",
         test_flush_delay_incr_append,
         test_setup, teardown, NULL},
        {"flush, delay, incr, decr",
         test_flush_delay_incr_decr,
         test_setup, teardown, NULL},
        {"flush, delay, incr, decrWithDefault",
         test_flush_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, incr, delay",
         test_flush_delay_incr_delay,
         test_setup, teardown, NULL},
        {"flush, delay, incr, delete",
         test_flush_delay_incr_delete,
         test_setup, teardown, NULL},
        {"flush, delay, incr, flush",
         test_flush_delay_incr_flush,
         test_setup, teardown, NULL},
        {"flush, delay, incr, incr",
         test_flush_delay_incr_incr,
         test_setup, teardown, NULL},
        {"flush, delay, incr, incrWithDefault",
         test_flush_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, incr, prepend",
         test_flush_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, incr, set",
         test_flush_delay_incr_set,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, add",
         test_flush_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, append",
         test_flush_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, decr",
         test_flush_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, decrWithDefault",
         test_flush_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, delay",
         test_flush_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, delete",
         test_flush_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, flush",
         test_flush_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, incr",
         test_flush_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, incrWithDefault",
         test_flush_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, prepend",
         test_flush_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, incrWithDefault, set",
         test_flush_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, add",
         test_flush_delay_prepend_add,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, append",
         test_flush_delay_prepend_append,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, decr",
         test_flush_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, decrWithDefault",
         test_flush_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, delay",
         test_flush_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, delete",
         test_flush_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, flush",
         test_flush_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, incr",
         test_flush_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, incrWithDefault",
         test_flush_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, prepend",
         test_flush_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, prepend, set",
         test_flush_delay_prepend_set,
         test_setup, teardown, NULL},
        {"flush, delay, set, add",
         test_flush_delay_set_add,
         test_setup, teardown, NULL},
        {"flush, delay, set, append",
         test_flush_delay_set_append,
         test_setup, teardown, NULL},
        {"flush, delay, set, decr",
         test_flush_delay_set_decr,
         test_setup, teardown, NULL},
        {"flush, delay, set, decrWithDefault",
         test_flush_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, set, delay",
         test_flush_delay_set_delay,
         test_setup, teardown, NULL},
        {"flush, delay, set, delete",
         test_flush_delay_set_delete,
         test_setup, teardown, NULL},
        {"flush, delay, set, flush",
         test_flush_delay_set_flush,
         test_setup, teardown, NULL},
        {"flush, delay, set, incr",
         test_flush_delay_set_incr,
         test_setup, teardown, NULL},
        {"flush, delay, set, incrWithDefault",
         test_flush_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delay, set, prepend",
         test_flush_delay_set_prepend,
         test_setup, teardown, NULL},
        {"flush, delay, set, set",
         test_flush_delay_set_set,
         test_setup, teardown, NULL},
        {"flush, delete, add, add",
         test_flush_delete_add_add,
         test_setup, teardown, NULL},
        {"flush, delete, add, append",
         test_flush_delete_add_append,
         test_setup, teardown, NULL},
        {"flush, delete, add, decr",
         test_flush_delete_add_decr,
         test_setup, teardown, NULL},
        {"flush, delete, add, decrWithDefault",
         test_flush_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, add, delay",
         test_flush_delete_add_delay,
         test_setup, teardown, NULL},
        {"flush, delete, add, delete",
         test_flush_delete_add_delete,
         test_setup, teardown, NULL},
        {"flush, delete, add, flush",
         test_flush_delete_add_flush,
         test_setup, teardown, NULL},
        {"flush, delete, add, incr",
         test_flush_delete_add_incr,
         test_setup, teardown, NULL},
        {"flush, delete, add, incrWithDefault",
         test_flush_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, add, prepend",
         test_flush_delete_add_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, add, set",
         test_flush_delete_add_set,
         test_setup, teardown, NULL},
        {"flush, delete, append, add",
         test_flush_delete_append_add,
         test_setup, teardown, NULL},
        {"flush, delete, append, append",
         test_flush_delete_append_append,
         test_setup, teardown, NULL},
        {"flush, delete, append, decr",
         test_flush_delete_append_decr,
         test_setup, teardown, NULL},
        {"flush, delete, append, decrWithDefault",
         test_flush_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, append, delay",
         test_flush_delete_append_delay,
         test_setup, teardown, NULL},
        {"flush, delete, append, delete",
         test_flush_delete_append_delete,
         test_setup, teardown, NULL},
        {"flush, delete, append, flush",
         test_flush_delete_append_flush,
         test_setup, teardown, NULL},
        {"flush, delete, append, incr",
         test_flush_delete_append_incr,
         test_setup, teardown, NULL},
        {"flush, delete, append, incrWithDefault",
         test_flush_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, append, prepend",
         test_flush_delete_append_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, append, set",
         test_flush_delete_append_set,
         test_setup, teardown, NULL},
        {"flush, delete, decr, add",
         test_flush_delete_decr_add,
         test_setup, teardown, NULL},
        {"flush, delete, decr, append",
         test_flush_delete_decr_append,
         test_setup, teardown, NULL},
        {"flush, delete, decr, decr",
         test_flush_delete_decr_decr,
         test_setup, teardown, NULL},
        {"flush, delete, decr, decrWithDefault",
         test_flush_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, decr, delay",
         test_flush_delete_decr_delay,
         test_setup, teardown, NULL},
        {"flush, delete, decr, delete",
         test_flush_delete_decr_delete,
         test_setup, teardown, NULL},
        {"flush, delete, decr, flush",
         test_flush_delete_decr_flush,
         test_setup, teardown, NULL},
        {"flush, delete, decr, incr",
         test_flush_delete_decr_incr,
         test_setup, teardown, NULL},
        {"flush, delete, decr, incrWithDefault",
         test_flush_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, decr, prepend",
         test_flush_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, decr, set",
         test_flush_delete_decr_set,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, add",
         test_flush_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, append",
         test_flush_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, decr",
         test_flush_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, decrWithDefault",
         test_flush_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, delay",
         test_flush_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, delete",
         test_flush_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, flush",
         test_flush_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, incr",
         test_flush_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, incrWithDefault",
         test_flush_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, prepend",
         test_flush_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, decrWithDefault, set",
         test_flush_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, delete, delay, add",
         test_flush_delete_delay_add,
         test_setup, teardown, NULL},
        {"flush, delete, delay, append",
         test_flush_delete_delay_append,
         test_setup, teardown, NULL},
        {"flush, delete, delay, decr",
         test_flush_delete_delay_decr,
         test_setup, teardown, NULL},
        {"flush, delete, delay, decrWithDefault",
         test_flush_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, delay, delay",
         test_flush_delete_delay_delay,
         test_setup, teardown, NULL},
        {"flush, delete, delay, delete",
         test_flush_delete_delay_delete,
         test_setup, teardown, NULL},
        {"flush, delete, delay, flush",
         test_flush_delete_delay_flush,
         test_setup, teardown, NULL},
        {"flush, delete, delay, incr",
         test_flush_delete_delay_incr,
         test_setup, teardown, NULL},
        {"flush, delete, delay, incrWithDefault",
         test_flush_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, delay, prepend",
         test_flush_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, delay, set",
         test_flush_delete_delay_set,
         test_setup, teardown, NULL},
        {"flush, delete, delete, add",
         test_flush_delete_delete_add,
         test_setup, teardown, NULL},
        {"flush, delete, delete, append",
         test_flush_delete_delete_append,
         test_setup, teardown, NULL},
        {"flush, delete, delete, decr",
         test_flush_delete_delete_decr,
         test_setup, teardown, NULL},
        {"flush, delete, delete, decrWithDefault",
         test_flush_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, delete, delay",
         test_flush_delete_delete_delay,
         test_setup, teardown, NULL},
        {"flush, delete, delete, delete",
         test_flush_delete_delete_delete,
         test_setup, teardown, NULL},
        {"flush, delete, delete, flush",
         test_flush_delete_delete_flush,
         test_setup, teardown, NULL},
        {"flush, delete, delete, incr",
         test_flush_delete_delete_incr,
         test_setup, teardown, NULL},
        {"flush, delete, delete, incrWithDefault",
         test_flush_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, delete, prepend",
         test_flush_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, delete, set",
         test_flush_delete_delete_set,
         test_setup, teardown, NULL},
        {"flush, delete, flush, add",
         test_flush_delete_flush_add,
         test_setup, teardown, NULL},
        {"flush, delete, flush, append",
         test_flush_delete_flush_append,
         test_setup, teardown, NULL},
        {"flush, delete, flush, decr",
         test_flush_delete_flush_decr,
         test_setup, teardown, NULL},
        {"flush, delete, flush, decrWithDefault",
         test_flush_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, flush, delay",
         test_flush_delete_flush_delay,
         test_setup, teardown, NULL},
        {"flush, delete, flush, delete",
         test_flush_delete_flush_delete,
         test_setup, teardown, NULL},
        {"flush, delete, flush, flush",
         test_flush_delete_flush_flush,
         test_setup, teardown, NULL},
        {"flush, delete, flush, incr",
         test_flush_delete_flush_incr,
         test_setup, teardown, NULL},
        {"flush, delete, flush, incrWithDefault",
         test_flush_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, flush, prepend",
         test_flush_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, flush, set",
         test_flush_delete_flush_set,
         test_setup, teardown, NULL},
        {"flush, delete, incr, add",
         test_flush_delete_incr_add,
         test_setup, teardown, NULL},
        {"flush, delete, incr, append",
         test_flush_delete_incr_append,
         test_setup, teardown, NULL},
        {"flush, delete, incr, decr",
         test_flush_delete_incr_decr,
         test_setup, teardown, NULL},
        {"flush, delete, incr, decrWithDefault",
         test_flush_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, incr, delay",
         test_flush_delete_incr_delay,
         test_setup, teardown, NULL},
        {"flush, delete, incr, delete",
         test_flush_delete_incr_delete,
         test_setup, teardown, NULL},
        {"flush, delete, incr, flush",
         test_flush_delete_incr_flush,
         test_setup, teardown, NULL},
        {"flush, delete, incr, incr",
         test_flush_delete_incr_incr,
         test_setup, teardown, NULL},
        {"flush, delete, incr, incrWithDefault",
         test_flush_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, incr, prepend",
         test_flush_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, incr, set",
         test_flush_delete_incr_set,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, add",
         test_flush_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, append",
         test_flush_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, decr",
         test_flush_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, decrWithDefault",
         test_flush_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, delay",
         test_flush_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, delete",
         test_flush_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, flush",
         test_flush_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, incr",
         test_flush_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, incrWithDefault",
         test_flush_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, prepend",
         test_flush_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, incrWithDefault, set",
         test_flush_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, add",
         test_flush_delete_prepend_add,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, append",
         test_flush_delete_prepend_append,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, decr",
         test_flush_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, decrWithDefault",
         test_flush_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, delay",
         test_flush_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, delete",
         test_flush_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, flush",
         test_flush_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, incr",
         test_flush_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, incrWithDefault",
         test_flush_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, prepend",
         test_flush_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, prepend, set",
         test_flush_delete_prepend_set,
         test_setup, teardown, NULL},
        {"flush, delete, set, add",
         test_flush_delete_set_add,
         test_setup, teardown, NULL},
        {"flush, delete, set, append",
         test_flush_delete_set_append,
         test_setup, teardown, NULL},
        {"flush, delete, set, decr",
         test_flush_delete_set_decr,
         test_setup, teardown, NULL},
        {"flush, delete, set, decrWithDefault",
         test_flush_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, set, delay",
         test_flush_delete_set_delay,
         test_setup, teardown, NULL},
        {"flush, delete, set, delete",
         test_flush_delete_set_delete,
         test_setup, teardown, NULL},
        {"flush, delete, set, flush",
         test_flush_delete_set_flush,
         test_setup, teardown, NULL},
        {"flush, delete, set, incr",
         test_flush_delete_set_incr,
         test_setup, teardown, NULL},
        {"flush, delete, set, incrWithDefault",
         test_flush_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, delete, set, prepend",
         test_flush_delete_set_prepend,
         test_setup, teardown, NULL},
        {"flush, delete, set, set",
         test_flush_delete_set_set,
         test_setup, teardown, NULL},
        {"flush, flush, add, add",
         test_flush_flush_add_add,
         test_setup, teardown, NULL},
        {"flush, flush, add, append",
         test_flush_flush_add_append,
         test_setup, teardown, NULL},
        {"flush, flush, add, decr",
         test_flush_flush_add_decr,
         test_setup, teardown, NULL},
        {"flush, flush, add, decrWithDefault",
         test_flush_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, add, delay",
         test_flush_flush_add_delay,
         test_setup, teardown, NULL},
        {"flush, flush, add, delete",
         test_flush_flush_add_delete,
         test_setup, teardown, NULL},
        {"flush, flush, add, flush",
         test_flush_flush_add_flush,
         test_setup, teardown, NULL},
        {"flush, flush, add, incr",
         test_flush_flush_add_incr,
         test_setup, teardown, NULL},
        {"flush, flush, add, incrWithDefault",
         test_flush_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, add, prepend",
         test_flush_flush_add_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, add, set",
         test_flush_flush_add_set,
         test_setup, teardown, NULL},
        {"flush, flush, append, add",
         test_flush_flush_append_add,
         test_setup, teardown, NULL},
        {"flush, flush, append, append",
         test_flush_flush_append_append,
         test_setup, teardown, NULL},
        {"flush, flush, append, decr",
         test_flush_flush_append_decr,
         test_setup, teardown, NULL},
        {"flush, flush, append, decrWithDefault",
         test_flush_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, append, delay",
         test_flush_flush_append_delay,
         test_setup, teardown, NULL},
        {"flush, flush, append, delete",
         test_flush_flush_append_delete,
         test_setup, teardown, NULL},
        {"flush, flush, append, flush",
         test_flush_flush_append_flush,
         test_setup, teardown, NULL},
        {"flush, flush, append, incr",
         test_flush_flush_append_incr,
         test_setup, teardown, NULL},
        {"flush, flush, append, incrWithDefault",
         test_flush_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, append, prepend",
         test_flush_flush_append_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, append, set",
         test_flush_flush_append_set,
         test_setup, teardown, NULL},
        {"flush, flush, decr, add",
         test_flush_flush_decr_add,
         test_setup, teardown, NULL},
        {"flush, flush, decr, append",
         test_flush_flush_decr_append,
         test_setup, teardown, NULL},
        {"flush, flush, decr, decr",
         test_flush_flush_decr_decr,
         test_setup, teardown, NULL},
        {"flush, flush, decr, decrWithDefault",
         test_flush_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, decr, delay",
         test_flush_flush_decr_delay,
         test_setup, teardown, NULL},
        {"flush, flush, decr, delete",
         test_flush_flush_decr_delete,
         test_setup, teardown, NULL},
        {"flush, flush, decr, flush",
         test_flush_flush_decr_flush,
         test_setup, teardown, NULL},
        {"flush, flush, decr, incr",
         test_flush_flush_decr_incr,
         test_setup, teardown, NULL},
        {"flush, flush, decr, incrWithDefault",
         test_flush_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, decr, prepend",
         test_flush_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, decr, set",
         test_flush_flush_decr_set,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, add",
         test_flush_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, append",
         test_flush_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, decr",
         test_flush_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, decrWithDefault",
         test_flush_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, delay",
         test_flush_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, delete",
         test_flush_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, flush",
         test_flush_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, incr",
         test_flush_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, incrWithDefault",
         test_flush_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, prepend",
         test_flush_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, decrWithDefault, set",
         test_flush_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, flush, delay, add",
         test_flush_flush_delay_add,
         test_setup, teardown, NULL},
        {"flush, flush, delay, append",
         test_flush_flush_delay_append,
         test_setup, teardown, NULL},
        {"flush, flush, delay, decr",
         test_flush_flush_delay_decr,
         test_setup, teardown, NULL},
        {"flush, flush, delay, decrWithDefault",
         test_flush_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, delay, delay",
         test_flush_flush_delay_delay,
         test_setup, teardown, NULL},
        {"flush, flush, delay, delete",
         test_flush_flush_delay_delete,
         test_setup, teardown, NULL},
        {"flush, flush, delay, flush",
         test_flush_flush_delay_flush,
         test_setup, teardown, NULL},
        {"flush, flush, delay, incr",
         test_flush_flush_delay_incr,
         test_setup, teardown, NULL},
        {"flush, flush, delay, incrWithDefault",
         test_flush_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, delay, prepend",
         test_flush_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, delay, set",
         test_flush_flush_delay_set,
         test_setup, teardown, NULL},
        {"flush, flush, delete, add",
         test_flush_flush_delete_add,
         test_setup, teardown, NULL},
        {"flush, flush, delete, append",
         test_flush_flush_delete_append,
         test_setup, teardown, NULL},
        {"flush, flush, delete, decr",
         test_flush_flush_delete_decr,
         test_setup, teardown, NULL},
        {"flush, flush, delete, decrWithDefault",
         test_flush_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, delete, delay",
         test_flush_flush_delete_delay,
         test_setup, teardown, NULL},
        {"flush, flush, delete, delete",
         test_flush_flush_delete_delete,
         test_setup, teardown, NULL},
        {"flush, flush, delete, flush",
         test_flush_flush_delete_flush,
         test_setup, teardown, NULL},
        {"flush, flush, delete, incr",
         test_flush_flush_delete_incr,
         test_setup, teardown, NULL},
        {"flush, flush, delete, incrWithDefault",
         test_flush_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, delete, prepend",
         test_flush_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, delete, set",
         test_flush_flush_delete_set,
         test_setup, teardown, NULL},
        {"flush, flush, flush, add",
         test_flush_flush_flush_add,
         test_setup, teardown, NULL},
        {"flush, flush, flush, append",
         test_flush_flush_flush_append,
         test_setup, teardown, NULL},
        {"flush, flush, flush, decr",
         test_flush_flush_flush_decr,
         test_setup, teardown, NULL},
        {"flush, flush, flush, decrWithDefault",
         test_flush_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, flush, delay",
         test_flush_flush_flush_delay,
         test_setup, teardown, NULL},
        {"flush, flush, flush, delete",
         test_flush_flush_flush_delete,
         test_setup, teardown, NULL},
        {"flush, flush, flush, incr",
         test_flush_flush_flush_incr,
         test_setup, teardown, NULL},
        {"flush, flush, flush, incrWithDefault",
         test_flush_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, flush, prepend",
         test_flush_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, flush, set",
         test_flush_flush_flush_set,
         test_setup, teardown, NULL},
        {"flush, flush, incr, add",
         test_flush_flush_incr_add,
         test_setup, teardown, NULL},
        {"flush, flush, incr, append",
         test_flush_flush_incr_append,
         test_setup, teardown, NULL},
        {"flush, flush, incr, decr",
         test_flush_flush_incr_decr,
         test_setup, teardown, NULL},
        {"flush, flush, incr, decrWithDefault",
         test_flush_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, incr, delay",
         test_flush_flush_incr_delay,
         test_setup, teardown, NULL},
        {"flush, flush, incr, delete",
         test_flush_flush_incr_delete,
         test_setup, teardown, NULL},
        {"flush, flush, incr, flush",
         test_flush_flush_incr_flush,
         test_setup, teardown, NULL},
        {"flush, flush, incr, incr",
         test_flush_flush_incr_incr,
         test_setup, teardown, NULL},
        {"flush, flush, incr, incrWithDefault",
         test_flush_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, incr, prepend",
         test_flush_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, incr, set",
         test_flush_flush_incr_set,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, add",
         test_flush_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, append",
         test_flush_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, decr",
         test_flush_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, decrWithDefault",
         test_flush_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, delay",
         test_flush_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, delete",
         test_flush_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, flush",
         test_flush_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, incr",
         test_flush_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, incrWithDefault",
         test_flush_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, prepend",
         test_flush_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, incrWithDefault, set",
         test_flush_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, add",
         test_flush_flush_prepend_add,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, append",
         test_flush_flush_prepend_append,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, decr",
         test_flush_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, decrWithDefault",
         test_flush_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, delay",
         test_flush_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, delete",
         test_flush_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, flush",
         test_flush_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, incr",
         test_flush_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, incrWithDefault",
         test_flush_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, prepend",
         test_flush_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, prepend, set",
         test_flush_flush_prepend_set,
         test_setup, teardown, NULL},
        {"flush, flush, set, add",
         test_flush_flush_set_add,
         test_setup, teardown, NULL},
        {"flush, flush, set, append",
         test_flush_flush_set_append,
         test_setup, teardown, NULL},
        {"flush, flush, set, decr",
         test_flush_flush_set_decr,
         test_setup, teardown, NULL},
        {"flush, flush, set, decrWithDefault",
         test_flush_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, set, delay",
         test_flush_flush_set_delay,
         test_setup, teardown, NULL},
        {"flush, flush, set, delete",
         test_flush_flush_set_delete,
         test_setup, teardown, NULL},
        {"flush, flush, set, flush",
         test_flush_flush_set_flush,
         test_setup, teardown, NULL},
        {"flush, flush, set, incr",
         test_flush_flush_set_incr,
         test_setup, teardown, NULL},
        {"flush, flush, set, incrWithDefault",
         test_flush_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, flush, set, prepend",
         test_flush_flush_set_prepend,
         test_setup, teardown, NULL},
        {"flush, flush, set, set",
         test_flush_flush_set_set,
         test_setup, teardown, NULL},
        {"flush, incr, add, add",
         test_flush_incr_add_add,
         test_setup, teardown, NULL},
        {"flush, incr, add, append",
         test_flush_incr_add_append,
         test_setup, teardown, NULL},
        {"flush, incr, add, decr",
         test_flush_incr_add_decr,
         test_setup, teardown, NULL},
        {"flush, incr, add, decrWithDefault",
         test_flush_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, add, delay",
         test_flush_incr_add_delay,
         test_setup, teardown, NULL},
        {"flush, incr, add, delete",
         test_flush_incr_add_delete,
         test_setup, teardown, NULL},
        {"flush, incr, add, flush",
         test_flush_incr_add_flush,
         test_setup, teardown, NULL},
        {"flush, incr, add, incr",
         test_flush_incr_add_incr,
         test_setup, teardown, NULL},
        {"flush, incr, add, incrWithDefault",
         test_flush_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, add, prepend",
         test_flush_incr_add_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, add, set",
         test_flush_incr_add_set,
         test_setup, teardown, NULL},
        {"flush, incr, append, add",
         test_flush_incr_append_add,
         test_setup, teardown, NULL},
        {"flush, incr, append, append",
         test_flush_incr_append_append,
         test_setup, teardown, NULL},
        {"flush, incr, append, decr",
         test_flush_incr_append_decr,
         test_setup, teardown, NULL},
        {"flush, incr, append, decrWithDefault",
         test_flush_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, append, delay",
         test_flush_incr_append_delay,
         test_setup, teardown, NULL},
        {"flush, incr, append, delete",
         test_flush_incr_append_delete,
         test_setup, teardown, NULL},
        {"flush, incr, append, flush",
         test_flush_incr_append_flush,
         test_setup, teardown, NULL},
        {"flush, incr, append, incr",
         test_flush_incr_append_incr,
         test_setup, teardown, NULL},
        {"flush, incr, append, incrWithDefault",
         test_flush_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, append, prepend",
         test_flush_incr_append_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, append, set",
         test_flush_incr_append_set,
         test_setup, teardown, NULL},
        {"flush, incr, decr, add",
         test_flush_incr_decr_add,
         test_setup, teardown, NULL},
        {"flush, incr, decr, append",
         test_flush_incr_decr_append,
         test_setup, teardown, NULL},
        {"flush, incr, decr, decr",
         test_flush_incr_decr_decr,
         test_setup, teardown, NULL},
        {"flush, incr, decr, decrWithDefault",
         test_flush_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, decr, delay",
         test_flush_incr_decr_delay,
         test_setup, teardown, NULL},
        {"flush, incr, decr, delete",
         test_flush_incr_decr_delete,
         test_setup, teardown, NULL},
        {"flush, incr, decr, flush",
         test_flush_incr_decr_flush,
         test_setup, teardown, NULL},
        {"flush, incr, decr, incr",
         test_flush_incr_decr_incr,
         test_setup, teardown, NULL},
        {"flush, incr, decr, incrWithDefault",
         test_flush_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, decr, prepend",
         test_flush_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, decr, set",
         test_flush_incr_decr_set,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, add",
         test_flush_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, append",
         test_flush_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, decr",
         test_flush_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, decrWithDefault",
         test_flush_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, delay",
         test_flush_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, delete",
         test_flush_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, flush",
         test_flush_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, incr",
         test_flush_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, incrWithDefault",
         test_flush_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, prepend",
         test_flush_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, decrWithDefault, set",
         test_flush_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, incr, delay, add",
         test_flush_incr_delay_add,
         test_setup, teardown, NULL},
        {"flush, incr, delay, append",
         test_flush_incr_delay_append,
         test_setup, teardown, NULL},
        {"flush, incr, delay, decr",
         test_flush_incr_delay_decr,
         test_setup, teardown, NULL},
        {"flush, incr, delay, decrWithDefault",
         test_flush_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, delay, delay",
         test_flush_incr_delay_delay,
         test_setup, teardown, NULL},
        {"flush, incr, delay, delete",
         test_flush_incr_delay_delete,
         test_setup, teardown, NULL},
        {"flush, incr, delay, flush",
         test_flush_incr_delay_flush,
         test_setup, teardown, NULL},
        {"flush, incr, delay, incr",
         test_flush_incr_delay_incr,
         test_setup, teardown, NULL},
        {"flush, incr, delay, incrWithDefault",
         test_flush_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, delay, prepend",
         test_flush_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, delay, set",
         test_flush_incr_delay_set,
         test_setup, teardown, NULL},
        {"flush, incr, delete, add",
         test_flush_incr_delete_add,
         test_setup, teardown, NULL},
        {"flush, incr, delete, append",
         test_flush_incr_delete_append,
         test_setup, teardown, NULL},
        {"flush, incr, delete, decr",
         test_flush_incr_delete_decr,
         test_setup, teardown, NULL},
        {"flush, incr, delete, decrWithDefault",
         test_flush_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, delete, delay",
         test_flush_incr_delete_delay,
         test_setup, teardown, NULL},
        {"flush, incr, delete, delete",
         test_flush_incr_delete_delete,
         test_setup, teardown, NULL},
        {"flush, incr, delete, flush",
         test_flush_incr_delete_flush,
         test_setup, teardown, NULL},
        {"flush, incr, delete, incr",
         test_flush_incr_delete_incr,
         test_setup, teardown, NULL},
        {"flush, incr, delete, incrWithDefault",
         test_flush_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, delete, prepend",
         test_flush_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, delete, set",
         test_flush_incr_delete_set,
         test_setup, teardown, NULL},
        {"flush, incr, flush, add",
         test_flush_incr_flush_add,
         test_setup, teardown, NULL},
        {"flush, incr, flush, append",
         test_flush_incr_flush_append,
         test_setup, teardown, NULL},
        {"flush, incr, flush, decr",
         test_flush_incr_flush_decr,
         test_setup, teardown, NULL},
        {"flush, incr, flush, decrWithDefault",
         test_flush_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, flush, delay",
         test_flush_incr_flush_delay,
         test_setup, teardown, NULL},
        {"flush, incr, flush, delete",
         test_flush_incr_flush_delete,
         test_setup, teardown, NULL},
        {"flush, incr, flush, flush",
         test_flush_incr_flush_flush,
         test_setup, teardown, NULL},
        {"flush, incr, flush, incr",
         test_flush_incr_flush_incr,
         test_setup, teardown, NULL},
        {"flush, incr, flush, incrWithDefault",
         test_flush_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, flush, prepend",
         test_flush_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, flush, set",
         test_flush_incr_flush_set,
         test_setup, teardown, NULL},
        {"flush, incr, incr, add",
         test_flush_incr_incr_add,
         test_setup, teardown, NULL},
        {"flush, incr, incr, append",
         test_flush_incr_incr_append,
         test_setup, teardown, NULL},
        {"flush, incr, incr, decr",
         test_flush_incr_incr_decr,
         test_setup, teardown, NULL},
        {"flush, incr, incr, decrWithDefault",
         test_flush_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, incr, delay",
         test_flush_incr_incr_delay,
         test_setup, teardown, NULL},
        {"flush, incr, incr, delete",
         test_flush_incr_incr_delete,
         test_setup, teardown, NULL},
        {"flush, incr, incr, flush",
         test_flush_incr_incr_flush,
         test_setup, teardown, NULL},
        {"flush, incr, incr, incr",
         test_flush_incr_incr_incr,
         test_setup, teardown, NULL},
        {"flush, incr, incr, incrWithDefault",
         test_flush_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, incr, prepend",
         test_flush_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, incr, set",
         test_flush_incr_incr_set,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, add",
         test_flush_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, append",
         test_flush_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, decr",
         test_flush_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, decrWithDefault",
         test_flush_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, delay",
         test_flush_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, delete",
         test_flush_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, flush",
         test_flush_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, incr",
         test_flush_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, incrWithDefault",
         test_flush_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, prepend",
         test_flush_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, incrWithDefault, set",
         test_flush_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, add",
         test_flush_incr_prepend_add,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, append",
         test_flush_incr_prepend_append,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, decr",
         test_flush_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, decrWithDefault",
         test_flush_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, delay",
         test_flush_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, delete",
         test_flush_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, flush",
         test_flush_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, incr",
         test_flush_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, incrWithDefault",
         test_flush_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, prepend",
         test_flush_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, prepend, set",
         test_flush_incr_prepend_set,
         test_setup, teardown, NULL},
        {"flush, incr, set, add",
         test_flush_incr_set_add,
         test_setup, teardown, NULL},
        {"flush, incr, set, append",
         test_flush_incr_set_append,
         test_setup, teardown, NULL},
        {"flush, incr, set, decr",
         test_flush_incr_set_decr,
         test_setup, teardown, NULL},
        {"flush, incr, set, decrWithDefault",
         test_flush_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, set, delay",
         test_flush_incr_set_delay,
         test_setup, teardown, NULL},
        {"flush, incr, set, delete",
         test_flush_incr_set_delete,
         test_setup, teardown, NULL},
        {"flush, incr, set, flush",
         test_flush_incr_set_flush,
         test_setup, teardown, NULL},
        {"flush, incr, set, incr",
         test_flush_incr_set_incr,
         test_setup, teardown, NULL},
        {"flush, incr, set, incrWithDefault",
         test_flush_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incr, set, prepend",
         test_flush_incr_set_prepend,
         test_setup, teardown, NULL},
        {"flush, incr, set, set",
         test_flush_incr_set_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, add",
         test_flush_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, append",
         test_flush_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, decr",
         test_flush_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, decrWithDefault",
         test_flush_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, delay",
         test_flush_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, delete",
         test_flush_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, flush",
         test_flush_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, incr",
         test_flush_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, incrWithDefault",
         test_flush_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, prepend",
         test_flush_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, add, set",
         test_flush_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, add",
         test_flush_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, append",
         test_flush_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, decr",
         test_flush_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, decrWithDefault",
         test_flush_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, delay",
         test_flush_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, delete",
         test_flush_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, flush",
         test_flush_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, incr",
         test_flush_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, incrWithDefault",
         test_flush_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, prepend",
         test_flush_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, append, set",
         test_flush_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, add",
         test_flush_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, append",
         test_flush_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, decr",
         test_flush_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, decrWithDefault",
         test_flush_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, delay",
         test_flush_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, delete",
         test_flush_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, flush",
         test_flush_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, incr",
         test_flush_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, incrWithDefault",
         test_flush_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, prepend",
         test_flush_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decr, set",
         test_flush_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, add",
         test_flush_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, append",
         test_flush_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, decr",
         test_flush_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, decrWithDefault",
         test_flush_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, delay",
         test_flush_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, delete",
         test_flush_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, flush",
         test_flush_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, incr",
         test_flush_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, incrWithDefault",
         test_flush_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, prepend",
         test_flush_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, decrWithDefault, set",
         test_flush_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, add",
         test_flush_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, append",
         test_flush_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, decr",
         test_flush_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, decrWithDefault",
         test_flush_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, delay",
         test_flush_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, delete",
         test_flush_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, flush",
         test_flush_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, incr",
         test_flush_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, incrWithDefault",
         test_flush_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, prepend",
         test_flush_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delay, set",
         test_flush_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, add",
         test_flush_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, append",
         test_flush_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, decr",
         test_flush_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, decrWithDefault",
         test_flush_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, delay",
         test_flush_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, delete",
         test_flush_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, flush",
         test_flush_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, incr",
         test_flush_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, incrWithDefault",
         test_flush_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, prepend",
         test_flush_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, delete, set",
         test_flush_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, add",
         test_flush_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, append",
         test_flush_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, decr",
         test_flush_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, decrWithDefault",
         test_flush_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, delay",
         test_flush_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, delete",
         test_flush_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, flush",
         test_flush_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, incr",
         test_flush_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, incrWithDefault",
         test_flush_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, prepend",
         test_flush_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, flush, set",
         test_flush_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, add",
         test_flush_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, append",
         test_flush_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, decr",
         test_flush_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, decrWithDefault",
         test_flush_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, delay",
         test_flush_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, delete",
         test_flush_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, flush",
         test_flush_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, incr",
         test_flush_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, incrWithDefault",
         test_flush_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, prepend",
         test_flush_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incr, set",
         test_flush_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, add",
         test_flush_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, append",
         test_flush_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, decr",
         test_flush_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, decrWithDefault",
         test_flush_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, delay",
         test_flush_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, delete",
         test_flush_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, flush",
         test_flush_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, incr",
         test_flush_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, incrWithDefault",
         test_flush_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, prepend",
         test_flush_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, incrWithDefault, set",
         test_flush_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, add",
         test_flush_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, append",
         test_flush_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, decr",
         test_flush_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, decrWithDefault",
         test_flush_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, delay",
         test_flush_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, delete",
         test_flush_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, flush",
         test_flush_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, incr",
         test_flush_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, incrWithDefault",
         test_flush_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, prepend",
         test_flush_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, prepend, set",
         test_flush_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, add",
         test_flush_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, append",
         test_flush_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, decr",
         test_flush_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, decrWithDefault",
         test_flush_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, delay",
         test_flush_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, delete",
         test_flush_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, flush",
         test_flush_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, incr",
         test_flush_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, incrWithDefault",
         test_flush_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, prepend",
         test_flush_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"flush, incrWithDefault, set, set",
         test_flush_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"flush, prepend, add, add",
         test_flush_prepend_add_add,
         test_setup, teardown, NULL},
        {"flush, prepend, add, append",
         test_flush_prepend_add_append,
         test_setup, teardown, NULL},
        {"flush, prepend, add, decr",
         test_flush_prepend_add_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, add, decrWithDefault",
         test_flush_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, add, delay",
         test_flush_prepend_add_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, add, delete",
         test_flush_prepend_add_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, add, flush",
         test_flush_prepend_add_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, add, incr",
         test_flush_prepend_add_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, add, incrWithDefault",
         test_flush_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, add, prepend",
         test_flush_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, add, set",
         test_flush_prepend_add_set,
         test_setup, teardown, NULL},
        {"flush, prepend, append, add",
         test_flush_prepend_append_add,
         test_setup, teardown, NULL},
        {"flush, prepend, append, append",
         test_flush_prepend_append_append,
         test_setup, teardown, NULL},
        {"flush, prepend, append, decr",
         test_flush_prepend_append_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, append, decrWithDefault",
         test_flush_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, append, delay",
         test_flush_prepend_append_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, append, delete",
         test_flush_prepend_append_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, append, flush",
         test_flush_prepend_append_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, append, incr",
         test_flush_prepend_append_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, append, incrWithDefault",
         test_flush_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, append, prepend",
         test_flush_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, append, set",
         test_flush_prepend_append_set,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, add",
         test_flush_prepend_decr_add,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, append",
         test_flush_prepend_decr_append,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, decr",
         test_flush_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, decrWithDefault",
         test_flush_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, delay",
         test_flush_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, delete",
         test_flush_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, flush",
         test_flush_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, incr",
         test_flush_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, incrWithDefault",
         test_flush_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, prepend",
         test_flush_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, decr, set",
         test_flush_prepend_decr_set,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, add",
         test_flush_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, append",
         test_flush_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, decr",
         test_flush_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, decrWithDefault",
         test_flush_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, delay",
         test_flush_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, delete",
         test_flush_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, flush",
         test_flush_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, incr",
         test_flush_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, incrWithDefault",
         test_flush_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, prepend",
         test_flush_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, decrWithDefault, set",
         test_flush_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, add",
         test_flush_prepend_delay_add,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, append",
         test_flush_prepend_delay_append,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, decr",
         test_flush_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, decrWithDefault",
         test_flush_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, delay",
         test_flush_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, delete",
         test_flush_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, flush",
         test_flush_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, incr",
         test_flush_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, incrWithDefault",
         test_flush_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, prepend",
         test_flush_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, delay, set",
         test_flush_prepend_delay_set,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, add",
         test_flush_prepend_delete_add,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, append",
         test_flush_prepend_delete_append,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, decr",
         test_flush_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, decrWithDefault",
         test_flush_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, delay",
         test_flush_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, delete",
         test_flush_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, flush",
         test_flush_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, incr",
         test_flush_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, incrWithDefault",
         test_flush_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, prepend",
         test_flush_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, delete, set",
         test_flush_prepend_delete_set,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, add",
         test_flush_prepend_flush_add,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, append",
         test_flush_prepend_flush_append,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, decr",
         test_flush_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, decrWithDefault",
         test_flush_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, delay",
         test_flush_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, delete",
         test_flush_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, flush",
         test_flush_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, incr",
         test_flush_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, incrWithDefault",
         test_flush_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, prepend",
         test_flush_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, flush, set",
         test_flush_prepend_flush_set,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, add",
         test_flush_prepend_incr_add,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, append",
         test_flush_prepend_incr_append,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, decr",
         test_flush_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, decrWithDefault",
         test_flush_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, delay",
         test_flush_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, delete",
         test_flush_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, flush",
         test_flush_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, incr",
         test_flush_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, incrWithDefault",
         test_flush_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, prepend",
         test_flush_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, incr, set",
         test_flush_prepend_incr_set,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, add",
         test_flush_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, append",
         test_flush_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, decr",
         test_flush_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, decrWithDefault",
         test_flush_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, delay",
         test_flush_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, delete",
         test_flush_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, flush",
         test_flush_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, incr",
         test_flush_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, incrWithDefault",
         test_flush_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, prepend",
         test_flush_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, incrWithDefault, set",
         test_flush_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, add",
         test_flush_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, append",
         test_flush_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, decr",
         test_flush_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, decrWithDefault",
         test_flush_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, delay",
         test_flush_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, delete",
         test_flush_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, flush",
         test_flush_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, incr",
         test_flush_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, incrWithDefault",
         test_flush_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, prepend",
         test_flush_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, prepend, set",
         test_flush_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"flush, prepend, set, add",
         test_flush_prepend_set_add,
         test_setup, teardown, NULL},
        {"flush, prepend, set, append",
         test_flush_prepend_set_append,
         test_setup, teardown, NULL},
        {"flush, prepend, set, decr",
         test_flush_prepend_set_decr,
         test_setup, teardown, NULL},
        {"flush, prepend, set, decrWithDefault",
         test_flush_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, set, delay",
         test_flush_prepend_set_delay,
         test_setup, teardown, NULL},
        {"flush, prepend, set, delete",
         test_flush_prepend_set_delete,
         test_setup, teardown, NULL},
        {"flush, prepend, set, flush",
         test_flush_prepend_set_flush,
         test_setup, teardown, NULL},
        {"flush, prepend, set, incr",
         test_flush_prepend_set_incr,
         test_setup, teardown, NULL},
        {"flush, prepend, set, incrWithDefault",
         test_flush_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, prepend, set, prepend",
         test_flush_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"flush, prepend, set, set",
         test_flush_prepend_set_set,
         test_setup, teardown, NULL},
        {"flush, set, add, add",
         test_flush_set_add_add,
         test_setup, teardown, NULL},
        {"flush, set, add, append",
         test_flush_set_add_append,
         test_setup, teardown, NULL},
        {"flush, set, add, decr",
         test_flush_set_add_decr,
         test_setup, teardown, NULL},
        {"flush, set, add, decrWithDefault",
         test_flush_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, add, delay",
         test_flush_set_add_delay,
         test_setup, teardown, NULL},
        {"flush, set, add, delete",
         test_flush_set_add_delete,
         test_setup, teardown, NULL},
        {"flush, set, add, flush",
         test_flush_set_add_flush,
         test_setup, teardown, NULL},
        {"flush, set, add, incr",
         test_flush_set_add_incr,
         test_setup, teardown, NULL},
        {"flush, set, add, incrWithDefault",
         test_flush_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, add, prepend",
         test_flush_set_add_prepend,
         test_setup, teardown, NULL},
        {"flush, set, add, set",
         test_flush_set_add_set,
         test_setup, teardown, NULL},
        {"flush, set, append, add",
         test_flush_set_append_add,
         test_setup, teardown, NULL},
        {"flush, set, append, append",
         test_flush_set_append_append,
         test_setup, teardown, NULL},
        {"flush, set, append, decr",
         test_flush_set_append_decr,
         test_setup, teardown, NULL},
        {"flush, set, append, decrWithDefault",
         test_flush_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, append, delay",
         test_flush_set_append_delay,
         test_setup, teardown, NULL},
        {"flush, set, append, delete",
         test_flush_set_append_delete,
         test_setup, teardown, NULL},
        {"flush, set, append, flush",
         test_flush_set_append_flush,
         test_setup, teardown, NULL},
        {"flush, set, append, incr",
         test_flush_set_append_incr,
         test_setup, teardown, NULL},
        {"flush, set, append, incrWithDefault",
         test_flush_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, append, prepend",
         test_flush_set_append_prepend,
         test_setup, teardown, NULL},
        {"flush, set, append, set",
         test_flush_set_append_set,
         test_setup, teardown, NULL},
        {"flush, set, decr, add",
         test_flush_set_decr_add,
         test_setup, teardown, NULL},
        {"flush, set, decr, append",
         test_flush_set_decr_append,
         test_setup, teardown, NULL},
        {"flush, set, decr, decr",
         test_flush_set_decr_decr,
         test_setup, teardown, NULL},
        {"flush, set, decr, decrWithDefault",
         test_flush_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, decr, delay",
         test_flush_set_decr_delay,
         test_setup, teardown, NULL},
        {"flush, set, decr, delete",
         test_flush_set_decr_delete,
         test_setup, teardown, NULL},
        {"flush, set, decr, flush",
         test_flush_set_decr_flush,
         test_setup, teardown, NULL},
        {"flush, set, decr, incr",
         test_flush_set_decr_incr,
         test_setup, teardown, NULL},
        {"flush, set, decr, incrWithDefault",
         test_flush_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, decr, prepend",
         test_flush_set_decr_prepend,
         test_setup, teardown, NULL},
        {"flush, set, decr, set",
         test_flush_set_decr_set,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, add",
         test_flush_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, append",
         test_flush_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, decr",
         test_flush_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, decrWithDefault",
         test_flush_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, delay",
         test_flush_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, delete",
         test_flush_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, flush",
         test_flush_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, incr",
         test_flush_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, incrWithDefault",
         test_flush_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, prepend",
         test_flush_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, set, decrWithDefault, set",
         test_flush_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, set, delay, add",
         test_flush_set_delay_add,
         test_setup, teardown, NULL},
        {"flush, set, delay, append",
         test_flush_set_delay_append,
         test_setup, teardown, NULL},
        {"flush, set, delay, decr",
         test_flush_set_delay_decr,
         test_setup, teardown, NULL},
        {"flush, set, delay, decrWithDefault",
         test_flush_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, delay, delay",
         test_flush_set_delay_delay,
         test_setup, teardown, NULL},
        {"flush, set, delay, delete",
         test_flush_set_delay_delete,
         test_setup, teardown, NULL},
        {"flush, set, delay, flush",
         test_flush_set_delay_flush,
         test_setup, teardown, NULL},
        {"flush, set, delay, incr",
         test_flush_set_delay_incr,
         test_setup, teardown, NULL},
        {"flush, set, delay, incrWithDefault",
         test_flush_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, delay, prepend",
         test_flush_set_delay_prepend,
         test_setup, teardown, NULL},
        {"flush, set, delay, set",
         test_flush_set_delay_set,
         test_setup, teardown, NULL},
        {"flush, set, delete, add",
         test_flush_set_delete_add,
         test_setup, teardown, NULL},
        {"flush, set, delete, append",
         test_flush_set_delete_append,
         test_setup, teardown, NULL},
        {"flush, set, delete, decr",
         test_flush_set_delete_decr,
         test_setup, teardown, NULL},
        {"flush, set, delete, decrWithDefault",
         test_flush_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, delete, delay",
         test_flush_set_delete_delay,
         test_setup, teardown, NULL},
        {"flush, set, delete, delete",
         test_flush_set_delete_delete,
         test_setup, teardown, NULL},
        {"flush, set, delete, flush",
         test_flush_set_delete_flush,
         test_setup, teardown, NULL},
        {"flush, set, delete, incr",
         test_flush_set_delete_incr,
         test_setup, teardown, NULL},
        {"flush, set, delete, incrWithDefault",
         test_flush_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, delete, prepend",
         test_flush_set_delete_prepend,
         test_setup, teardown, NULL},
        {"flush, set, delete, set",
         test_flush_set_delete_set,
         test_setup, teardown, NULL},
        {"flush, set, flush, add",
         test_flush_set_flush_add,
         test_setup, teardown, NULL},
        {"flush, set, flush, append",
         test_flush_set_flush_append,
         test_setup, teardown, NULL},
        {"flush, set, flush, decr",
         test_flush_set_flush_decr,
         test_setup, teardown, NULL},
        {"flush, set, flush, decrWithDefault",
         test_flush_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, flush, delay",
         test_flush_set_flush_delay,
         test_setup, teardown, NULL},
        {"flush, set, flush, delete",
         test_flush_set_flush_delete,
         test_setup, teardown, NULL},
        {"flush, set, flush, flush",
         test_flush_set_flush_flush,
         test_setup, teardown, NULL},
        {"flush, set, flush, incr",
         test_flush_set_flush_incr,
         test_setup, teardown, NULL},
        {"flush, set, flush, incrWithDefault",
         test_flush_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, flush, prepend",
         test_flush_set_flush_prepend,
         test_setup, teardown, NULL},
        {"flush, set, flush, set",
         test_flush_set_flush_set,
         test_setup, teardown, NULL},
        {"flush, set, incr, add",
         test_flush_set_incr_add,
         test_setup, teardown, NULL},
        {"flush, set, incr, append",
         test_flush_set_incr_append,
         test_setup, teardown, NULL},
        {"flush, set, incr, decr",
         test_flush_set_incr_decr,
         test_setup, teardown, NULL},
        {"flush, set, incr, decrWithDefault",
         test_flush_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, incr, delay",
         test_flush_set_incr_delay,
         test_setup, teardown, NULL},
        {"flush, set, incr, delete",
         test_flush_set_incr_delete,
         test_setup, teardown, NULL},
        {"flush, set, incr, flush",
         test_flush_set_incr_flush,
         test_setup, teardown, NULL},
        {"flush, set, incr, incr",
         test_flush_set_incr_incr,
         test_setup, teardown, NULL},
        {"flush, set, incr, incrWithDefault",
         test_flush_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, incr, prepend",
         test_flush_set_incr_prepend,
         test_setup, teardown, NULL},
        {"flush, set, incr, set",
         test_flush_set_incr_set,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, add",
         test_flush_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, append",
         test_flush_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, decr",
         test_flush_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, decrWithDefault",
         test_flush_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, delay",
         test_flush_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, delete",
         test_flush_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, flush",
         test_flush_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, incr",
         test_flush_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, incrWithDefault",
         test_flush_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, prepend",
         test_flush_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"flush, set, incrWithDefault, set",
         test_flush_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"flush, set, prepend, add",
         test_flush_set_prepend_add,
         test_setup, teardown, NULL},
        {"flush, set, prepend, append",
         test_flush_set_prepend_append,
         test_setup, teardown, NULL},
        {"flush, set, prepend, decr",
         test_flush_set_prepend_decr,
         test_setup, teardown, NULL},
        {"flush, set, prepend, decrWithDefault",
         test_flush_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, prepend, delay",
         test_flush_set_prepend_delay,
         test_setup, teardown, NULL},
        {"flush, set, prepend, delete",
         test_flush_set_prepend_delete,
         test_setup, teardown, NULL},
        {"flush, set, prepend, flush",
         test_flush_set_prepend_flush,
         test_setup, teardown, NULL},
        {"flush, set, prepend, incr",
         test_flush_set_prepend_incr,
         test_setup, teardown, NULL},
        {"flush, set, prepend, incrWithDefault",
         test_flush_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, prepend, prepend",
         test_flush_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"flush, set, prepend, set",
         test_flush_set_prepend_set,
         test_setup, teardown, NULL},
        {"flush, set, set, add",
         test_flush_set_set_add,
         test_setup, teardown, NULL},
        {"flush, set, set, append",
         test_flush_set_set_append,
         test_setup, teardown, NULL},
        {"flush, set, set, decr",
         test_flush_set_set_decr,
         test_setup, teardown, NULL},
        {"flush, set, set, decrWithDefault",
         test_flush_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, set, delay",
         test_flush_set_set_delay,
         test_setup, teardown, NULL},
        {"flush, set, set, delete",
         test_flush_set_set_delete,
         test_setup, teardown, NULL},
        {"flush, set, set, flush",
         test_flush_set_set_flush,
         test_setup, teardown, NULL},
        {"flush, set, set, incr",
         test_flush_set_set_incr,
         test_setup, teardown, NULL},
        {"flush, set, set, incrWithDefault",
         test_flush_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"flush, set, set, prepend",
         test_flush_set_set_prepend,
         test_setup, teardown, NULL},
        {"flush, set, set, set",
         test_flush_set_set_set,
         test_setup, teardown, NULL},
        {"incr, add, add, add",
         test_incr_add_add_add,
         test_setup, teardown, NULL},
        {"incr, add, add, append",
         test_incr_add_add_append,
         test_setup, teardown, NULL},
        {"incr, add, add, decr",
         test_incr_add_add_decr,
         test_setup, teardown, NULL},
        {"incr, add, add, decrWithDefault",
         test_incr_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, add, delay",
         test_incr_add_add_delay,
         test_setup, teardown, NULL},
        {"incr, add, add, delete",
         test_incr_add_add_delete,
         test_setup, teardown, NULL},
        {"incr, add, add, flush",
         test_incr_add_add_flush,
         test_setup, teardown, NULL},
        {"incr, add, add, incr",
         test_incr_add_add_incr,
         test_setup, teardown, NULL},
        {"incr, add, add, incrWithDefault",
         test_incr_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, add, prepend",
         test_incr_add_add_prepend,
         test_setup, teardown, NULL},
        {"incr, add, add, set",
         test_incr_add_add_set,
         test_setup, teardown, NULL},
        {"incr, add, append, add",
         test_incr_add_append_add,
         test_setup, teardown, NULL},
        {"incr, add, append, append",
         test_incr_add_append_append,
         test_setup, teardown, NULL},
        {"incr, add, append, decr",
         test_incr_add_append_decr,
         test_setup, teardown, NULL},
        {"incr, add, append, decrWithDefault",
         test_incr_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, append, delay",
         test_incr_add_append_delay,
         test_setup, teardown, NULL},
        {"incr, add, append, delete",
         test_incr_add_append_delete,
         test_setup, teardown, NULL},
        {"incr, add, append, flush",
         test_incr_add_append_flush,
         test_setup, teardown, NULL},
        {"incr, add, append, incr",
         test_incr_add_append_incr,
         test_setup, teardown, NULL},
        {"incr, add, append, incrWithDefault",
         test_incr_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, append, prepend",
         test_incr_add_append_prepend,
         test_setup, teardown, NULL},
        {"incr, add, append, set",
         test_incr_add_append_set,
         test_setup, teardown, NULL},
        {"incr, add, decr, add",
         test_incr_add_decr_add,
         test_setup, teardown, NULL},
        {"incr, add, decr, append",
         test_incr_add_decr_append,
         test_setup, teardown, NULL},
        {"incr, add, decr, decr",
         test_incr_add_decr_decr,
         test_setup, teardown, NULL},
        {"incr, add, decr, decrWithDefault",
         test_incr_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, decr, delay",
         test_incr_add_decr_delay,
         test_setup, teardown, NULL},
        {"incr, add, decr, delete",
         test_incr_add_decr_delete,
         test_setup, teardown, NULL},
        {"incr, add, decr, flush",
         test_incr_add_decr_flush,
         test_setup, teardown, NULL},
        {"incr, add, decr, incr",
         test_incr_add_decr_incr,
         test_setup, teardown, NULL},
        {"incr, add, decr, incrWithDefault",
         test_incr_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, decr, prepend",
         test_incr_add_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, add, decr, set",
         test_incr_add_decr_set,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, add",
         test_incr_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, append",
         test_incr_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, decr",
         test_incr_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, decrWithDefault",
         test_incr_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, delay",
         test_incr_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, delete",
         test_incr_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, flush",
         test_incr_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, incr",
         test_incr_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, incrWithDefault",
         test_incr_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, prepend",
         test_incr_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, add, decrWithDefault, set",
         test_incr_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, add, delay, add",
         test_incr_add_delay_add,
         test_setup, teardown, NULL},
        {"incr, add, delay, append",
         test_incr_add_delay_append,
         test_setup, teardown, NULL},
        {"incr, add, delay, decr",
         test_incr_add_delay_decr,
         test_setup, teardown, NULL},
        {"incr, add, delay, decrWithDefault",
         test_incr_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, delay, delay",
         test_incr_add_delay_delay,
         test_setup, teardown, NULL},
        {"incr, add, delay, delete",
         test_incr_add_delay_delete,
         test_setup, teardown, NULL},
        {"incr, add, delay, flush",
         test_incr_add_delay_flush,
         test_setup, teardown, NULL},
        {"incr, add, delay, incr",
         test_incr_add_delay_incr,
         test_setup, teardown, NULL},
        {"incr, add, delay, incrWithDefault",
         test_incr_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, delay, prepend",
         test_incr_add_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, add, delay, set",
         test_incr_add_delay_set,
         test_setup, teardown, NULL},
        {"incr, add, delete, add",
         test_incr_add_delete_add,
         test_setup, teardown, NULL},
        {"incr, add, delete, append",
         test_incr_add_delete_append,
         test_setup, teardown, NULL},
        {"incr, add, delete, decr",
         test_incr_add_delete_decr,
         test_setup, teardown, NULL},
        {"incr, add, delete, decrWithDefault",
         test_incr_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, delete, delay",
         test_incr_add_delete_delay,
         test_setup, teardown, NULL},
        {"incr, add, delete, delete",
         test_incr_add_delete_delete,
         test_setup, teardown, NULL},
        {"incr, add, delete, flush",
         test_incr_add_delete_flush,
         test_setup, teardown, NULL},
        {"incr, add, delete, incr",
         test_incr_add_delete_incr,
         test_setup, teardown, NULL},
        {"incr, add, delete, incrWithDefault",
         test_incr_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, delete, prepend",
         test_incr_add_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, add, delete, set",
         test_incr_add_delete_set,
         test_setup, teardown, NULL},
        {"incr, add, flush, add",
         test_incr_add_flush_add,
         test_setup, teardown, NULL},
        {"incr, add, flush, append",
         test_incr_add_flush_append,
         test_setup, teardown, NULL},
        {"incr, add, flush, decr",
         test_incr_add_flush_decr,
         test_setup, teardown, NULL},
        {"incr, add, flush, decrWithDefault",
         test_incr_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, flush, delay",
         test_incr_add_flush_delay,
         test_setup, teardown, NULL},
        {"incr, add, flush, delete",
         test_incr_add_flush_delete,
         test_setup, teardown, NULL},
        {"incr, add, flush, flush",
         test_incr_add_flush_flush,
         test_setup, teardown, NULL},
        {"incr, add, flush, incr",
         test_incr_add_flush_incr,
         test_setup, teardown, NULL},
        {"incr, add, flush, incrWithDefault",
         test_incr_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, flush, prepend",
         test_incr_add_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, add, flush, set",
         test_incr_add_flush_set,
         test_setup, teardown, NULL},
        {"incr, add, incr, add",
         test_incr_add_incr_add,
         test_setup, teardown, NULL},
        {"incr, add, incr, append",
         test_incr_add_incr_append,
         test_setup, teardown, NULL},
        {"incr, add, incr, decr",
         test_incr_add_incr_decr,
         test_setup, teardown, NULL},
        {"incr, add, incr, decrWithDefault",
         test_incr_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, incr, delay",
         test_incr_add_incr_delay,
         test_setup, teardown, NULL},
        {"incr, add, incr, delete",
         test_incr_add_incr_delete,
         test_setup, teardown, NULL},
        {"incr, add, incr, flush",
         test_incr_add_incr_flush,
         test_setup, teardown, NULL},
        {"incr, add, incr, incr",
         test_incr_add_incr_incr,
         test_setup, teardown, NULL},
        {"incr, add, incr, incrWithDefault",
         test_incr_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, incr, prepend",
         test_incr_add_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, add, incr, set",
         test_incr_add_incr_set,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, add",
         test_incr_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, append",
         test_incr_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, decr",
         test_incr_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, decrWithDefault",
         test_incr_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, delay",
         test_incr_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, delete",
         test_incr_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, flush",
         test_incr_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, incr",
         test_incr_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, incrWithDefault",
         test_incr_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, prepend",
         test_incr_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, add, incrWithDefault, set",
         test_incr_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, add, prepend, add",
         test_incr_add_prepend_add,
         test_setup, teardown, NULL},
        {"incr, add, prepend, append",
         test_incr_add_prepend_append,
         test_setup, teardown, NULL},
        {"incr, add, prepend, decr",
         test_incr_add_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, add, prepend, decrWithDefault",
         test_incr_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, prepend, delay",
         test_incr_add_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, add, prepend, delete",
         test_incr_add_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, add, prepend, flush",
         test_incr_add_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, add, prepend, incr",
         test_incr_add_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, add, prepend, incrWithDefault",
         test_incr_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, prepend, prepend",
         test_incr_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, add, prepend, set",
         test_incr_add_prepend_set,
         test_setup, teardown, NULL},
        {"incr, add, set, add",
         test_incr_add_set_add,
         test_setup, teardown, NULL},
        {"incr, add, set, append",
         test_incr_add_set_append,
         test_setup, teardown, NULL},
        {"incr, add, set, decr",
         test_incr_add_set_decr,
         test_setup, teardown, NULL},
        {"incr, add, set, decrWithDefault",
         test_incr_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, set, delay",
         test_incr_add_set_delay,
         test_setup, teardown, NULL},
        {"incr, add, set, delete",
         test_incr_add_set_delete,
         test_setup, teardown, NULL},
        {"incr, add, set, flush",
         test_incr_add_set_flush,
         test_setup, teardown, NULL},
        {"incr, add, set, incr",
         test_incr_add_set_incr,
         test_setup, teardown, NULL},
        {"incr, add, set, incrWithDefault",
         test_incr_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, add, set, prepend",
         test_incr_add_set_prepend,
         test_setup, teardown, NULL},
        {"incr, add, set, set",
         test_incr_add_set_set,
         test_setup, teardown, NULL},
        {"incr, append, add, add",
         test_incr_append_add_add,
         test_setup, teardown, NULL},
        {"incr, append, add, append",
         test_incr_append_add_append,
         test_setup, teardown, NULL},
        {"incr, append, add, decr",
         test_incr_append_add_decr,
         test_setup, teardown, NULL},
        {"incr, append, add, decrWithDefault",
         test_incr_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, add, delay",
         test_incr_append_add_delay,
         test_setup, teardown, NULL},
        {"incr, append, add, delete",
         test_incr_append_add_delete,
         test_setup, teardown, NULL},
        {"incr, append, add, flush",
         test_incr_append_add_flush,
         test_setup, teardown, NULL},
        {"incr, append, add, incr",
         test_incr_append_add_incr,
         test_setup, teardown, NULL},
        {"incr, append, add, incrWithDefault",
         test_incr_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, add, prepend",
         test_incr_append_add_prepend,
         test_setup, teardown, NULL},
        {"incr, append, add, set",
         test_incr_append_add_set,
         test_setup, teardown, NULL},
        {"incr, append, append, add",
         test_incr_append_append_add,
         test_setup, teardown, NULL},
        {"incr, append, append, append",
         test_incr_append_append_append,
         test_setup, teardown, NULL},
        {"incr, append, append, decr",
         test_incr_append_append_decr,
         test_setup, teardown, NULL},
        {"incr, append, append, decrWithDefault",
         test_incr_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, append, delay",
         test_incr_append_append_delay,
         test_setup, teardown, NULL},
        {"incr, append, append, delete",
         test_incr_append_append_delete,
         test_setup, teardown, NULL},
        {"incr, append, append, flush",
         test_incr_append_append_flush,
         test_setup, teardown, NULL},
        {"incr, append, append, incr",
         test_incr_append_append_incr,
         test_setup, teardown, NULL},
        {"incr, append, append, incrWithDefault",
         test_incr_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, append, prepend",
         test_incr_append_append_prepend,
         test_setup, teardown, NULL},
        {"incr, append, append, set",
         test_incr_append_append_set,
         test_setup, teardown, NULL},
        {"incr, append, decr, add",
         test_incr_append_decr_add,
         test_setup, teardown, NULL},
        {"incr, append, decr, append",
         test_incr_append_decr_append,
         test_setup, teardown, NULL},
        {"incr, append, decr, decr",
         test_incr_append_decr_decr,
         test_setup, teardown, NULL},
        {"incr, append, decr, decrWithDefault",
         test_incr_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, decr, delay",
         test_incr_append_decr_delay,
         test_setup, teardown, NULL},
        {"incr, append, decr, delete",
         test_incr_append_decr_delete,
         test_setup, teardown, NULL},
        {"incr, append, decr, flush",
         test_incr_append_decr_flush,
         test_setup, teardown, NULL},
        {"incr, append, decr, incr",
         test_incr_append_decr_incr,
         test_setup, teardown, NULL},
        {"incr, append, decr, incrWithDefault",
         test_incr_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, decr, prepend",
         test_incr_append_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, append, decr, set",
         test_incr_append_decr_set,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, add",
         test_incr_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, append",
         test_incr_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, decr",
         test_incr_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, decrWithDefault",
         test_incr_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, delay",
         test_incr_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, delete",
         test_incr_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, flush",
         test_incr_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, incr",
         test_incr_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, incrWithDefault",
         test_incr_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, prepend",
         test_incr_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, append, decrWithDefault, set",
         test_incr_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, append, delay, add",
         test_incr_append_delay_add,
         test_setup, teardown, NULL},
        {"incr, append, delay, append",
         test_incr_append_delay_append,
         test_setup, teardown, NULL},
        {"incr, append, delay, decr",
         test_incr_append_delay_decr,
         test_setup, teardown, NULL},
        {"incr, append, delay, decrWithDefault",
         test_incr_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, delay, delay",
         test_incr_append_delay_delay,
         test_setup, teardown, NULL},
        {"incr, append, delay, delete",
         test_incr_append_delay_delete,
         test_setup, teardown, NULL},
        {"incr, append, delay, flush",
         test_incr_append_delay_flush,
         test_setup, teardown, NULL},
        {"incr, append, delay, incr",
         test_incr_append_delay_incr,
         test_setup, teardown, NULL},
        {"incr, append, delay, incrWithDefault",
         test_incr_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, delay, prepend",
         test_incr_append_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, append, delay, set",
         test_incr_append_delay_set,
         test_setup, teardown, NULL},
        {"incr, append, delete, add",
         test_incr_append_delete_add,
         test_setup, teardown, NULL},
        {"incr, append, delete, append",
         test_incr_append_delete_append,
         test_setup, teardown, NULL},
        {"incr, append, delete, decr",
         test_incr_append_delete_decr,
         test_setup, teardown, NULL},
        {"incr, append, delete, decrWithDefault",
         test_incr_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, delete, delay",
         test_incr_append_delete_delay,
         test_setup, teardown, NULL},
        {"incr, append, delete, delete",
         test_incr_append_delete_delete,
         test_setup, teardown, NULL},
        {"incr, append, delete, flush",
         test_incr_append_delete_flush,
         test_setup, teardown, NULL},
        {"incr, append, delete, incr",
         test_incr_append_delete_incr,
         test_setup, teardown, NULL},
        {"incr, append, delete, incrWithDefault",
         test_incr_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, delete, prepend",
         test_incr_append_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, append, delete, set",
         test_incr_append_delete_set,
         test_setup, teardown, NULL},
        {"incr, append, flush, add",
         test_incr_append_flush_add,
         test_setup, teardown, NULL},
        {"incr, append, flush, append",
         test_incr_append_flush_append,
         test_setup, teardown, NULL},
        {"incr, append, flush, decr",
         test_incr_append_flush_decr,
         test_setup, teardown, NULL},
        {"incr, append, flush, decrWithDefault",
         test_incr_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, flush, delay",
         test_incr_append_flush_delay,
         test_setup, teardown, NULL},
        {"incr, append, flush, delete",
         test_incr_append_flush_delete,
         test_setup, teardown, NULL},
        {"incr, append, flush, flush",
         test_incr_append_flush_flush,
         test_setup, teardown, NULL},
        {"incr, append, flush, incr",
         test_incr_append_flush_incr,
         test_setup, teardown, NULL},
        {"incr, append, flush, incrWithDefault",
         test_incr_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, flush, prepend",
         test_incr_append_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, append, flush, set",
         test_incr_append_flush_set,
         test_setup, teardown, NULL},
        {"incr, append, incr, add",
         test_incr_append_incr_add,
         test_setup, teardown, NULL},
        {"incr, append, incr, append",
         test_incr_append_incr_append,
         test_setup, teardown, NULL},
        {"incr, append, incr, decr",
         test_incr_append_incr_decr,
         test_setup, teardown, NULL},
        {"incr, append, incr, decrWithDefault",
         test_incr_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, incr, delay",
         test_incr_append_incr_delay,
         test_setup, teardown, NULL},
        {"incr, append, incr, delete",
         test_incr_append_incr_delete,
         test_setup, teardown, NULL},
        {"incr, append, incr, flush",
         test_incr_append_incr_flush,
         test_setup, teardown, NULL},
        {"incr, append, incr, incr",
         test_incr_append_incr_incr,
         test_setup, teardown, NULL},
        {"incr, append, incr, incrWithDefault",
         test_incr_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, incr, prepend",
         test_incr_append_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, append, incr, set",
         test_incr_append_incr_set,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, add",
         test_incr_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, append",
         test_incr_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, decr",
         test_incr_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, decrWithDefault",
         test_incr_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, delay",
         test_incr_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, delete",
         test_incr_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, flush",
         test_incr_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, incr",
         test_incr_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, incrWithDefault",
         test_incr_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, prepend",
         test_incr_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, append, incrWithDefault, set",
         test_incr_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, append, prepend, add",
         test_incr_append_prepend_add,
         test_setup, teardown, NULL},
        {"incr, append, prepend, append",
         test_incr_append_prepend_append,
         test_setup, teardown, NULL},
        {"incr, append, prepend, decr",
         test_incr_append_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, append, prepend, decrWithDefault",
         test_incr_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, prepend, delay",
         test_incr_append_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, append, prepend, delete",
         test_incr_append_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, append, prepend, flush",
         test_incr_append_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, append, prepend, incr",
         test_incr_append_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, append, prepend, incrWithDefault",
         test_incr_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, prepend, prepend",
         test_incr_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, append, prepend, set",
         test_incr_append_prepend_set,
         test_setup, teardown, NULL},
        {"incr, append, set, add",
         test_incr_append_set_add,
         test_setup, teardown, NULL},
        {"incr, append, set, append",
         test_incr_append_set_append,
         test_setup, teardown, NULL},
        {"incr, append, set, decr",
         test_incr_append_set_decr,
         test_setup, teardown, NULL},
        {"incr, append, set, decrWithDefault",
         test_incr_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, set, delay",
         test_incr_append_set_delay,
         test_setup, teardown, NULL},
        {"incr, append, set, delete",
         test_incr_append_set_delete,
         test_setup, teardown, NULL},
        {"incr, append, set, flush",
         test_incr_append_set_flush,
         test_setup, teardown, NULL},
        {"incr, append, set, incr",
         test_incr_append_set_incr,
         test_setup, teardown, NULL},
        {"incr, append, set, incrWithDefault",
         test_incr_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, append, set, prepend",
         test_incr_append_set_prepend,
         test_setup, teardown, NULL},
        {"incr, append, set, set",
         test_incr_append_set_set,
         test_setup, teardown, NULL},
        {"incr, decr, add, add",
         test_incr_decr_add_add,
         test_setup, teardown, NULL},
        {"incr, decr, add, append",
         test_incr_decr_add_append,
         test_setup, teardown, NULL},
        {"incr, decr, add, decr",
         test_incr_decr_add_decr,
         test_setup, teardown, NULL},
        {"incr, decr, add, decrWithDefault",
         test_incr_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, add, delay",
         test_incr_decr_add_delay,
         test_setup, teardown, NULL},
        {"incr, decr, add, delete",
         test_incr_decr_add_delete,
         test_setup, teardown, NULL},
        {"incr, decr, add, flush",
         test_incr_decr_add_flush,
         test_setup, teardown, NULL},
        {"incr, decr, add, incr",
         test_incr_decr_add_incr,
         test_setup, teardown, NULL},
        {"incr, decr, add, incrWithDefault",
         test_incr_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, add, prepend",
         test_incr_decr_add_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, add, set",
         test_incr_decr_add_set,
         test_setup, teardown, NULL},
        {"incr, decr, append, add",
         test_incr_decr_append_add,
         test_setup, teardown, NULL},
        {"incr, decr, append, append",
         test_incr_decr_append_append,
         test_setup, teardown, NULL},
        {"incr, decr, append, decr",
         test_incr_decr_append_decr,
         test_setup, teardown, NULL},
        {"incr, decr, append, decrWithDefault",
         test_incr_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, append, delay",
         test_incr_decr_append_delay,
         test_setup, teardown, NULL},
        {"incr, decr, append, delete",
         test_incr_decr_append_delete,
         test_setup, teardown, NULL},
        {"incr, decr, append, flush",
         test_incr_decr_append_flush,
         test_setup, teardown, NULL},
        {"incr, decr, append, incr",
         test_incr_decr_append_incr,
         test_setup, teardown, NULL},
        {"incr, decr, append, incrWithDefault",
         test_incr_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, append, prepend",
         test_incr_decr_append_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, append, set",
         test_incr_decr_append_set,
         test_setup, teardown, NULL},
        {"incr, decr, decr, add",
         test_incr_decr_decr_add,
         test_setup, teardown, NULL},
        {"incr, decr, decr, append",
         test_incr_decr_decr_append,
         test_setup, teardown, NULL},
        {"incr, decr, decr, decr",
         test_incr_decr_decr_decr,
         test_setup, teardown, NULL},
        {"incr, decr, decr, decrWithDefault",
         test_incr_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, decr, delay",
         test_incr_decr_decr_delay,
         test_setup, teardown, NULL},
        {"incr, decr, decr, delete",
         test_incr_decr_decr_delete,
         test_setup, teardown, NULL},
        {"incr, decr, decr, flush",
         test_incr_decr_decr_flush,
         test_setup, teardown, NULL},
        {"incr, decr, decr, incr",
         test_incr_decr_decr_incr,
         test_setup, teardown, NULL},
        {"incr, decr, decr, incrWithDefault",
         test_incr_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, decr, prepend",
         test_incr_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, decr, set",
         test_incr_decr_decr_set,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, add",
         test_incr_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, append",
         test_incr_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, decr",
         test_incr_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, decrWithDefault",
         test_incr_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, delay",
         test_incr_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, delete",
         test_incr_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, flush",
         test_incr_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, incr",
         test_incr_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, incrWithDefault",
         test_incr_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, prepend",
         test_incr_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, decrWithDefault, set",
         test_incr_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, decr, delay, add",
         test_incr_decr_delay_add,
         test_setup, teardown, NULL},
        {"incr, decr, delay, append",
         test_incr_decr_delay_append,
         test_setup, teardown, NULL},
        {"incr, decr, delay, decr",
         test_incr_decr_delay_decr,
         test_setup, teardown, NULL},
        {"incr, decr, delay, decrWithDefault",
         test_incr_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, delay, delay",
         test_incr_decr_delay_delay,
         test_setup, teardown, NULL},
        {"incr, decr, delay, delete",
         test_incr_decr_delay_delete,
         test_setup, teardown, NULL},
        {"incr, decr, delay, flush",
         test_incr_decr_delay_flush,
         test_setup, teardown, NULL},
        {"incr, decr, delay, incr",
         test_incr_decr_delay_incr,
         test_setup, teardown, NULL},
        {"incr, decr, delay, incrWithDefault",
         test_incr_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, delay, prepend",
         test_incr_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, delay, set",
         test_incr_decr_delay_set,
         test_setup, teardown, NULL},
        {"incr, decr, delete, add",
         test_incr_decr_delete_add,
         test_setup, teardown, NULL},
        {"incr, decr, delete, append",
         test_incr_decr_delete_append,
         test_setup, teardown, NULL},
        {"incr, decr, delete, decr",
         test_incr_decr_delete_decr,
         test_setup, teardown, NULL},
        {"incr, decr, delete, decrWithDefault",
         test_incr_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, delete, delay",
         test_incr_decr_delete_delay,
         test_setup, teardown, NULL},
        {"incr, decr, delete, delete",
         test_incr_decr_delete_delete,
         test_setup, teardown, NULL},
        {"incr, decr, delete, flush",
         test_incr_decr_delete_flush,
         test_setup, teardown, NULL},
        {"incr, decr, delete, incr",
         test_incr_decr_delete_incr,
         test_setup, teardown, NULL},
        {"incr, decr, delete, incrWithDefault",
         test_incr_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, delete, prepend",
         test_incr_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, delete, set",
         test_incr_decr_delete_set,
         test_setup, teardown, NULL},
        {"incr, decr, flush, add",
         test_incr_decr_flush_add,
         test_setup, teardown, NULL},
        {"incr, decr, flush, append",
         test_incr_decr_flush_append,
         test_setup, teardown, NULL},
        {"incr, decr, flush, decr",
         test_incr_decr_flush_decr,
         test_setup, teardown, NULL},
        {"incr, decr, flush, decrWithDefault",
         test_incr_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, flush, delay",
         test_incr_decr_flush_delay,
         test_setup, teardown, NULL},
        {"incr, decr, flush, delete",
         test_incr_decr_flush_delete,
         test_setup, teardown, NULL},
        {"incr, decr, flush, flush",
         test_incr_decr_flush_flush,
         test_setup, teardown, NULL},
        {"incr, decr, flush, incr",
         test_incr_decr_flush_incr,
         test_setup, teardown, NULL},
        {"incr, decr, flush, incrWithDefault",
         test_incr_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, flush, prepend",
         test_incr_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, flush, set",
         test_incr_decr_flush_set,
         test_setup, teardown, NULL},
        {"incr, decr, incr, add",
         test_incr_decr_incr_add,
         test_setup, teardown, NULL},
        {"incr, decr, incr, append",
         test_incr_decr_incr_append,
         test_setup, teardown, NULL},
        {"incr, decr, incr, decr",
         test_incr_decr_incr_decr,
         test_setup, teardown, NULL},
        {"incr, decr, incr, decrWithDefault",
         test_incr_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, incr, delay",
         test_incr_decr_incr_delay,
         test_setup, teardown, NULL},
        {"incr, decr, incr, delete",
         test_incr_decr_incr_delete,
         test_setup, teardown, NULL},
        {"incr, decr, incr, flush",
         test_incr_decr_incr_flush,
         test_setup, teardown, NULL},
        {"incr, decr, incr, incr",
         test_incr_decr_incr_incr,
         test_setup, teardown, NULL},
        {"incr, decr, incr, incrWithDefault",
         test_incr_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, incr, prepend",
         test_incr_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, incr, set",
         test_incr_decr_incr_set,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, add",
         test_incr_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, append",
         test_incr_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, decr",
         test_incr_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, decrWithDefault",
         test_incr_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, delay",
         test_incr_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, delete",
         test_incr_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, flush",
         test_incr_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, incr",
         test_incr_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, incrWithDefault",
         test_incr_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, prepend",
         test_incr_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, incrWithDefault, set",
         test_incr_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, add",
         test_incr_decr_prepend_add,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, append",
         test_incr_decr_prepend_append,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, decr",
         test_incr_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, decrWithDefault",
         test_incr_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, delay",
         test_incr_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, delete",
         test_incr_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, flush",
         test_incr_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, incr",
         test_incr_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, incrWithDefault",
         test_incr_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, prepend",
         test_incr_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, prepend, set",
         test_incr_decr_prepend_set,
         test_setup, teardown, NULL},
        {"incr, decr, set, add",
         test_incr_decr_set_add,
         test_setup, teardown, NULL},
        {"incr, decr, set, append",
         test_incr_decr_set_append,
         test_setup, teardown, NULL},
        {"incr, decr, set, decr",
         test_incr_decr_set_decr,
         test_setup, teardown, NULL},
        {"incr, decr, set, decrWithDefault",
         test_incr_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, set, delay",
         test_incr_decr_set_delay,
         test_setup, teardown, NULL},
        {"incr, decr, set, delete",
         test_incr_decr_set_delete,
         test_setup, teardown, NULL},
        {"incr, decr, set, flush",
         test_incr_decr_set_flush,
         test_setup, teardown, NULL},
        {"incr, decr, set, incr",
         test_incr_decr_set_incr,
         test_setup, teardown, NULL},
        {"incr, decr, set, incrWithDefault",
         test_incr_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decr, set, prepend",
         test_incr_decr_set_prepend,
         test_setup, teardown, NULL},
        {"incr, decr, set, set",
         test_incr_decr_set_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, add",
         test_incr_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, append",
         test_incr_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, decr",
         test_incr_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, decrWithDefault",
         test_incr_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, delay",
         test_incr_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, delete",
         test_incr_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, flush",
         test_incr_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, incr",
         test_incr_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, incrWithDefault",
         test_incr_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, prepend",
         test_incr_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, add, set",
         test_incr_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, add",
         test_incr_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, append",
         test_incr_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, decr",
         test_incr_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, decrWithDefault",
         test_incr_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, delay",
         test_incr_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, delete",
         test_incr_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, flush",
         test_incr_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, incr",
         test_incr_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, incrWithDefault",
         test_incr_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, prepend",
         test_incr_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, append, set",
         test_incr_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, add",
         test_incr_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, append",
         test_incr_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, decr",
         test_incr_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, decrWithDefault",
         test_incr_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, delay",
         test_incr_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, delete",
         test_incr_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, flush",
         test_incr_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, incr",
         test_incr_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, incrWithDefault",
         test_incr_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, prepend",
         test_incr_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decr, set",
         test_incr_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, add",
         test_incr_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, append",
         test_incr_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, decr",
         test_incr_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, decrWithDefault",
         test_incr_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, delay",
         test_incr_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, delete",
         test_incr_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, flush",
         test_incr_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, incr",
         test_incr_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, incrWithDefault",
         test_incr_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, prepend",
         test_incr_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, decrWithDefault, set",
         test_incr_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, add",
         test_incr_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, append",
         test_incr_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, decr",
         test_incr_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, decrWithDefault",
         test_incr_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, delay",
         test_incr_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, delete",
         test_incr_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, flush",
         test_incr_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, incr",
         test_incr_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, incrWithDefault",
         test_incr_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, prepend",
         test_incr_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delay, set",
         test_incr_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, add",
         test_incr_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, append",
         test_incr_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, decr",
         test_incr_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, decrWithDefault",
         test_incr_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, delay",
         test_incr_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, delete",
         test_incr_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, flush",
         test_incr_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, incr",
         test_incr_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, incrWithDefault",
         test_incr_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, prepend",
         test_incr_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, delete, set",
         test_incr_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, add",
         test_incr_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, append",
         test_incr_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, decr",
         test_incr_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, decrWithDefault",
         test_incr_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, delay",
         test_incr_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, delete",
         test_incr_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, flush",
         test_incr_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, incr",
         test_incr_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, incrWithDefault",
         test_incr_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, prepend",
         test_incr_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, flush, set",
         test_incr_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, add",
         test_incr_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, append",
         test_incr_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, decr",
         test_incr_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, decrWithDefault",
         test_incr_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, delay",
         test_incr_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, delete",
         test_incr_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, flush",
         test_incr_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, incr",
         test_incr_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, incrWithDefault",
         test_incr_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, prepend",
         test_incr_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incr, set",
         test_incr_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, add",
         test_incr_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, append",
         test_incr_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, decr",
         test_incr_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, decrWithDefault",
         test_incr_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, delay",
         test_incr_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, delete",
         test_incr_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, flush",
         test_incr_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, incr",
         test_incr_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, incrWithDefault",
         test_incr_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, prepend",
         test_incr_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, incrWithDefault, set",
         test_incr_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, add",
         test_incr_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, append",
         test_incr_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, decr",
         test_incr_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, decrWithDefault",
         test_incr_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, delay",
         test_incr_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, delete",
         test_incr_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, flush",
         test_incr_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, incr",
         test_incr_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, incrWithDefault",
         test_incr_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, prepend",
         test_incr_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, prepend, set",
         test_incr_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, add",
         test_incr_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, append",
         test_incr_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, decr",
         test_incr_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, decrWithDefault",
         test_incr_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, delay",
         test_incr_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, delete",
         test_incr_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, flush",
         test_incr_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, incr",
         test_incr_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, incrWithDefault",
         test_incr_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, prepend",
         test_incr_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"incr, decrWithDefault, set, set",
         test_incr_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"incr, delay, add, add",
         test_incr_delay_add_add,
         test_setup, teardown, NULL},
        {"incr, delay, add, append",
         test_incr_delay_add_append,
         test_setup, teardown, NULL},
        {"incr, delay, add, decr",
         test_incr_delay_add_decr,
         test_setup, teardown, NULL},
        {"incr, delay, add, decrWithDefault",
         test_incr_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, add, delay",
         test_incr_delay_add_delay,
         test_setup, teardown, NULL},
        {"incr, delay, add, delete",
         test_incr_delay_add_delete,
         test_setup, teardown, NULL},
        {"incr, delay, add, flush",
         test_incr_delay_add_flush,
         test_setup, teardown, NULL},
        {"incr, delay, add, incr",
         test_incr_delay_add_incr,
         test_setup, teardown, NULL},
        {"incr, delay, add, incrWithDefault",
         test_incr_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, add, prepend",
         test_incr_delay_add_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, add, set",
         test_incr_delay_add_set,
         test_setup, teardown, NULL},
        {"incr, delay, append, add",
         test_incr_delay_append_add,
         test_setup, teardown, NULL},
        {"incr, delay, append, append",
         test_incr_delay_append_append,
         test_setup, teardown, NULL},
        {"incr, delay, append, decr",
         test_incr_delay_append_decr,
         test_setup, teardown, NULL},
        {"incr, delay, append, decrWithDefault",
         test_incr_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, append, delay",
         test_incr_delay_append_delay,
         test_setup, teardown, NULL},
        {"incr, delay, append, delete",
         test_incr_delay_append_delete,
         test_setup, teardown, NULL},
        {"incr, delay, append, flush",
         test_incr_delay_append_flush,
         test_setup, teardown, NULL},
        {"incr, delay, append, incr",
         test_incr_delay_append_incr,
         test_setup, teardown, NULL},
        {"incr, delay, append, incrWithDefault",
         test_incr_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, append, prepend",
         test_incr_delay_append_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, append, set",
         test_incr_delay_append_set,
         test_setup, teardown, NULL},
        {"incr, delay, decr, add",
         test_incr_delay_decr_add,
         test_setup, teardown, NULL},
        {"incr, delay, decr, append",
         test_incr_delay_decr_append,
         test_setup, teardown, NULL},
        {"incr, delay, decr, decr",
         test_incr_delay_decr_decr,
         test_setup, teardown, NULL},
        {"incr, delay, decr, decrWithDefault",
         test_incr_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, decr, delay",
         test_incr_delay_decr_delay,
         test_setup, teardown, NULL},
        {"incr, delay, decr, delete",
         test_incr_delay_decr_delete,
         test_setup, teardown, NULL},
        {"incr, delay, decr, flush",
         test_incr_delay_decr_flush,
         test_setup, teardown, NULL},
        {"incr, delay, decr, incr",
         test_incr_delay_decr_incr,
         test_setup, teardown, NULL},
        {"incr, delay, decr, incrWithDefault",
         test_incr_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, decr, prepend",
         test_incr_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, decr, set",
         test_incr_delay_decr_set,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, add",
         test_incr_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, append",
         test_incr_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, decr",
         test_incr_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, decrWithDefault",
         test_incr_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, delay",
         test_incr_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, delete",
         test_incr_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, flush",
         test_incr_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, incr",
         test_incr_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, incrWithDefault",
         test_incr_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, prepend",
         test_incr_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, decrWithDefault, set",
         test_incr_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, delay, delay, add",
         test_incr_delay_delay_add,
         test_setup, teardown, NULL},
        {"incr, delay, delay, append",
         test_incr_delay_delay_append,
         test_setup, teardown, NULL},
        {"incr, delay, delay, decr",
         test_incr_delay_delay_decr,
         test_setup, teardown, NULL},
        {"incr, delay, delay, decrWithDefault",
         test_incr_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, delay, delay",
         test_incr_delay_delay_delay,
         test_setup, teardown, NULL},
        {"incr, delay, delay, delete",
         test_incr_delay_delay_delete,
         test_setup, teardown, NULL},
        {"incr, delay, delay, flush",
         test_incr_delay_delay_flush,
         test_setup, teardown, NULL},
        {"incr, delay, delay, incr",
         test_incr_delay_delay_incr,
         test_setup, teardown, NULL},
        {"incr, delay, delay, incrWithDefault",
         test_incr_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, delay, prepend",
         test_incr_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, delay, set",
         test_incr_delay_delay_set,
         test_setup, teardown, NULL},
        {"incr, delay, delete, add",
         test_incr_delay_delete_add,
         test_setup, teardown, NULL},
        {"incr, delay, delete, append",
         test_incr_delay_delete_append,
         test_setup, teardown, NULL},
        {"incr, delay, delete, decr",
         test_incr_delay_delete_decr,
         test_setup, teardown, NULL},
        {"incr, delay, delete, decrWithDefault",
         test_incr_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, delete, delay",
         test_incr_delay_delete_delay,
         test_setup, teardown, NULL},
        {"incr, delay, delete, delete",
         test_incr_delay_delete_delete,
         test_setup, teardown, NULL},
        {"incr, delay, delete, flush",
         test_incr_delay_delete_flush,
         test_setup, teardown, NULL},
        {"incr, delay, delete, incr",
         test_incr_delay_delete_incr,
         test_setup, teardown, NULL},
        {"incr, delay, delete, incrWithDefault",
         test_incr_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, delete, prepend",
         test_incr_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, delete, set",
         test_incr_delay_delete_set,
         test_setup, teardown, NULL},
        {"incr, delay, flush, add",
         test_incr_delay_flush_add,
         test_setup, teardown, NULL},
        {"incr, delay, flush, append",
         test_incr_delay_flush_append,
         test_setup, teardown, NULL},
        {"incr, delay, flush, decr",
         test_incr_delay_flush_decr,
         test_setup, teardown, NULL},
        {"incr, delay, flush, decrWithDefault",
         test_incr_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, flush, delay",
         test_incr_delay_flush_delay,
         test_setup, teardown, NULL},
        {"incr, delay, flush, delete",
         test_incr_delay_flush_delete,
         test_setup, teardown, NULL},
        {"incr, delay, flush, flush",
         test_incr_delay_flush_flush,
         test_setup, teardown, NULL},
        {"incr, delay, flush, incr",
         test_incr_delay_flush_incr,
         test_setup, teardown, NULL},
        {"incr, delay, flush, incrWithDefault",
         test_incr_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, flush, prepend",
         test_incr_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, flush, set",
         test_incr_delay_flush_set,
         test_setup, teardown, NULL},
        {"incr, delay, incr, add",
         test_incr_delay_incr_add,
         test_setup, teardown, NULL},
        {"incr, delay, incr, append",
         test_incr_delay_incr_append,
         test_setup, teardown, NULL},
        {"incr, delay, incr, decr",
         test_incr_delay_incr_decr,
         test_setup, teardown, NULL},
        {"incr, delay, incr, decrWithDefault",
         test_incr_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, incr, delay",
         test_incr_delay_incr_delay,
         test_setup, teardown, NULL},
        {"incr, delay, incr, delete",
         test_incr_delay_incr_delete,
         test_setup, teardown, NULL},
        {"incr, delay, incr, flush",
         test_incr_delay_incr_flush,
         test_setup, teardown, NULL},
        {"incr, delay, incr, incr",
         test_incr_delay_incr_incr,
         test_setup, teardown, NULL},
        {"incr, delay, incr, incrWithDefault",
         test_incr_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, incr, prepend",
         test_incr_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, incr, set",
         test_incr_delay_incr_set,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, add",
         test_incr_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, append",
         test_incr_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, decr",
         test_incr_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, decrWithDefault",
         test_incr_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, delay",
         test_incr_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, delete",
         test_incr_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, flush",
         test_incr_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, incr",
         test_incr_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, incrWithDefault",
         test_incr_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, prepend",
         test_incr_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, incrWithDefault, set",
         test_incr_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, add",
         test_incr_delay_prepend_add,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, append",
         test_incr_delay_prepend_append,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, decr",
         test_incr_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, decrWithDefault",
         test_incr_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, delay",
         test_incr_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, delete",
         test_incr_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, flush",
         test_incr_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, incr",
         test_incr_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, incrWithDefault",
         test_incr_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, prepend",
         test_incr_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, prepend, set",
         test_incr_delay_prepend_set,
         test_setup, teardown, NULL},
        {"incr, delay, set, add",
         test_incr_delay_set_add,
         test_setup, teardown, NULL},
        {"incr, delay, set, append",
         test_incr_delay_set_append,
         test_setup, teardown, NULL},
        {"incr, delay, set, decr",
         test_incr_delay_set_decr,
         test_setup, teardown, NULL},
        {"incr, delay, set, decrWithDefault",
         test_incr_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, set, delay",
         test_incr_delay_set_delay,
         test_setup, teardown, NULL},
        {"incr, delay, set, delete",
         test_incr_delay_set_delete,
         test_setup, teardown, NULL},
        {"incr, delay, set, flush",
         test_incr_delay_set_flush,
         test_setup, teardown, NULL},
        {"incr, delay, set, incr",
         test_incr_delay_set_incr,
         test_setup, teardown, NULL},
        {"incr, delay, set, incrWithDefault",
         test_incr_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delay, set, prepend",
         test_incr_delay_set_prepend,
         test_setup, teardown, NULL},
        {"incr, delay, set, set",
         test_incr_delay_set_set,
         test_setup, teardown, NULL},
        {"incr, delete, add, add",
         test_incr_delete_add_add,
         test_setup, teardown, NULL},
        {"incr, delete, add, append",
         test_incr_delete_add_append,
         test_setup, teardown, NULL},
        {"incr, delete, add, decr",
         test_incr_delete_add_decr,
         test_setup, teardown, NULL},
        {"incr, delete, add, decrWithDefault",
         test_incr_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, add, delay",
         test_incr_delete_add_delay,
         test_setup, teardown, NULL},
        {"incr, delete, add, delete",
         test_incr_delete_add_delete,
         test_setup, teardown, NULL},
        {"incr, delete, add, flush",
         test_incr_delete_add_flush,
         test_setup, teardown, NULL},
        {"incr, delete, add, incr",
         test_incr_delete_add_incr,
         test_setup, teardown, NULL},
        {"incr, delete, add, incrWithDefault",
         test_incr_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, add, prepend",
         test_incr_delete_add_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, add, set",
         test_incr_delete_add_set,
         test_setup, teardown, NULL},
        {"incr, delete, append, add",
         test_incr_delete_append_add,
         test_setup, teardown, NULL},
        {"incr, delete, append, append",
         test_incr_delete_append_append,
         test_setup, teardown, NULL},
        {"incr, delete, append, decr",
         test_incr_delete_append_decr,
         test_setup, teardown, NULL},
        {"incr, delete, append, decrWithDefault",
         test_incr_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, append, delay",
         test_incr_delete_append_delay,
         test_setup, teardown, NULL},
        {"incr, delete, append, delete",
         test_incr_delete_append_delete,
         test_setup, teardown, NULL},
        {"incr, delete, append, flush",
         test_incr_delete_append_flush,
         test_setup, teardown, NULL},
        {"incr, delete, append, incr",
         test_incr_delete_append_incr,
         test_setup, teardown, NULL},
        {"incr, delete, append, incrWithDefault",
         test_incr_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, append, prepend",
         test_incr_delete_append_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, append, set",
         test_incr_delete_append_set,
         test_setup, teardown, NULL},
        {"incr, delete, decr, add",
         test_incr_delete_decr_add,
         test_setup, teardown, NULL},
        {"incr, delete, decr, append",
         test_incr_delete_decr_append,
         test_setup, teardown, NULL},
        {"incr, delete, decr, decr",
         test_incr_delete_decr_decr,
         test_setup, teardown, NULL},
        {"incr, delete, decr, decrWithDefault",
         test_incr_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, decr, delay",
         test_incr_delete_decr_delay,
         test_setup, teardown, NULL},
        {"incr, delete, decr, delete",
         test_incr_delete_decr_delete,
         test_setup, teardown, NULL},
        {"incr, delete, decr, flush",
         test_incr_delete_decr_flush,
         test_setup, teardown, NULL},
        {"incr, delete, decr, incr",
         test_incr_delete_decr_incr,
         test_setup, teardown, NULL},
        {"incr, delete, decr, incrWithDefault",
         test_incr_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, decr, prepend",
         test_incr_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, decr, set",
         test_incr_delete_decr_set,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, add",
         test_incr_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, append",
         test_incr_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, decr",
         test_incr_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, decrWithDefault",
         test_incr_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, delay",
         test_incr_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, delete",
         test_incr_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, flush",
         test_incr_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, incr",
         test_incr_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, incrWithDefault",
         test_incr_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, prepend",
         test_incr_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, decrWithDefault, set",
         test_incr_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, delete, delay, add",
         test_incr_delete_delay_add,
         test_setup, teardown, NULL},
        {"incr, delete, delay, append",
         test_incr_delete_delay_append,
         test_setup, teardown, NULL},
        {"incr, delete, delay, decr",
         test_incr_delete_delay_decr,
         test_setup, teardown, NULL},
        {"incr, delete, delay, decrWithDefault",
         test_incr_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, delay, delay",
         test_incr_delete_delay_delay,
         test_setup, teardown, NULL},
        {"incr, delete, delay, delete",
         test_incr_delete_delay_delete,
         test_setup, teardown, NULL},
        {"incr, delete, delay, flush",
         test_incr_delete_delay_flush,
         test_setup, teardown, NULL},
        {"incr, delete, delay, incr",
         test_incr_delete_delay_incr,
         test_setup, teardown, NULL},
        {"incr, delete, delay, incrWithDefault",
         test_incr_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, delay, prepend",
         test_incr_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, delay, set",
         test_incr_delete_delay_set,
         test_setup, teardown, NULL},
        {"incr, delete, delete, add",
         test_incr_delete_delete_add,
         test_setup, teardown, NULL},
        {"incr, delete, delete, append",
         test_incr_delete_delete_append,
         test_setup, teardown, NULL},
        {"incr, delete, delete, decr",
         test_incr_delete_delete_decr,
         test_setup, teardown, NULL},
        {"incr, delete, delete, decrWithDefault",
         test_incr_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, delete, delay",
         test_incr_delete_delete_delay,
         test_setup, teardown, NULL},
        {"incr, delete, delete, delete",
         test_incr_delete_delete_delete,
         test_setup, teardown, NULL},
        {"incr, delete, delete, flush",
         test_incr_delete_delete_flush,
         test_setup, teardown, NULL},
        {"incr, delete, delete, incr",
         test_incr_delete_delete_incr,
         test_setup, teardown, NULL},
        {"incr, delete, delete, incrWithDefault",
         test_incr_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, delete, prepend",
         test_incr_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, delete, set",
         test_incr_delete_delete_set,
         test_setup, teardown, NULL},
        {"incr, delete, flush, add",
         test_incr_delete_flush_add,
         test_setup, teardown, NULL},
        {"incr, delete, flush, append",
         test_incr_delete_flush_append,
         test_setup, teardown, NULL},
        {"incr, delete, flush, decr",
         test_incr_delete_flush_decr,
         test_setup, teardown, NULL},
        {"incr, delete, flush, decrWithDefault",
         test_incr_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, flush, delay",
         test_incr_delete_flush_delay,
         test_setup, teardown, NULL},
        {"incr, delete, flush, delete",
         test_incr_delete_flush_delete,
         test_setup, teardown, NULL},
        {"incr, delete, flush, flush",
         test_incr_delete_flush_flush,
         test_setup, teardown, NULL},
        {"incr, delete, flush, incr",
         test_incr_delete_flush_incr,
         test_setup, teardown, NULL},
        {"incr, delete, flush, incrWithDefault",
         test_incr_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, flush, prepend",
         test_incr_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, flush, set",
         test_incr_delete_flush_set,
         test_setup, teardown, NULL},
        {"incr, delete, incr, add",
         test_incr_delete_incr_add,
         test_setup, teardown, NULL},
        {"incr, delete, incr, append",
         test_incr_delete_incr_append,
         test_setup, teardown, NULL},
        {"incr, delete, incr, decr",
         test_incr_delete_incr_decr,
         test_setup, teardown, NULL},
        {"incr, delete, incr, decrWithDefault",
         test_incr_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, incr, delay",
         test_incr_delete_incr_delay,
         test_setup, teardown, NULL},
        {"incr, delete, incr, delete",
         test_incr_delete_incr_delete,
         test_setup, teardown, NULL},
        {"incr, delete, incr, flush",
         test_incr_delete_incr_flush,
         test_setup, teardown, NULL},
        {"incr, delete, incr, incr",
         test_incr_delete_incr_incr,
         test_setup, teardown, NULL},
        {"incr, delete, incr, incrWithDefault",
         test_incr_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, incr, prepend",
         test_incr_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, incr, set",
         test_incr_delete_incr_set,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, add",
         test_incr_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, append",
         test_incr_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, decr",
         test_incr_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, decrWithDefault",
         test_incr_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, delay",
         test_incr_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, delete",
         test_incr_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, flush",
         test_incr_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, incr",
         test_incr_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, incrWithDefault",
         test_incr_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, prepend",
         test_incr_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, incrWithDefault, set",
         test_incr_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, add",
         test_incr_delete_prepend_add,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, append",
         test_incr_delete_prepend_append,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, decr",
         test_incr_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, decrWithDefault",
         test_incr_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, delay",
         test_incr_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, delete",
         test_incr_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, flush",
         test_incr_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, incr",
         test_incr_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, incrWithDefault",
         test_incr_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, prepend",
         test_incr_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, prepend, set",
         test_incr_delete_prepend_set,
         test_setup, teardown, NULL},
        {"incr, delete, set, add",
         test_incr_delete_set_add,
         test_setup, teardown, NULL},
        {"incr, delete, set, append",
         test_incr_delete_set_append,
         test_setup, teardown, NULL},
        {"incr, delete, set, decr",
         test_incr_delete_set_decr,
         test_setup, teardown, NULL},
        {"incr, delete, set, decrWithDefault",
         test_incr_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, set, delay",
         test_incr_delete_set_delay,
         test_setup, teardown, NULL},
        {"incr, delete, set, delete",
         test_incr_delete_set_delete,
         test_setup, teardown, NULL},
        {"incr, delete, set, flush",
         test_incr_delete_set_flush,
         test_setup, teardown, NULL},
        {"incr, delete, set, incr",
         test_incr_delete_set_incr,
         test_setup, teardown, NULL},
        {"incr, delete, set, incrWithDefault",
         test_incr_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, delete, set, prepend",
         test_incr_delete_set_prepend,
         test_setup, teardown, NULL},
        {"incr, delete, set, set",
         test_incr_delete_set_set,
         test_setup, teardown, NULL},
        {"incr, flush, add, add",
         test_incr_flush_add_add,
         test_setup, teardown, NULL},
        {"incr, flush, add, append",
         test_incr_flush_add_append,
         test_setup, teardown, NULL},
        {"incr, flush, add, decr",
         test_incr_flush_add_decr,
         test_setup, teardown, NULL},
        {"incr, flush, add, decrWithDefault",
         test_incr_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, add, delay",
         test_incr_flush_add_delay,
         test_setup, teardown, NULL},
        {"incr, flush, add, delete",
         test_incr_flush_add_delete,
         test_setup, teardown, NULL},
        {"incr, flush, add, flush",
         test_incr_flush_add_flush,
         test_setup, teardown, NULL},
        {"incr, flush, add, incr",
         test_incr_flush_add_incr,
         test_setup, teardown, NULL},
        {"incr, flush, add, incrWithDefault",
         test_incr_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, add, prepend",
         test_incr_flush_add_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, add, set",
         test_incr_flush_add_set,
         test_setup, teardown, NULL},
        {"incr, flush, append, add",
         test_incr_flush_append_add,
         test_setup, teardown, NULL},
        {"incr, flush, append, append",
         test_incr_flush_append_append,
         test_setup, teardown, NULL},
        {"incr, flush, append, decr",
         test_incr_flush_append_decr,
         test_setup, teardown, NULL},
        {"incr, flush, append, decrWithDefault",
         test_incr_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, append, delay",
         test_incr_flush_append_delay,
         test_setup, teardown, NULL},
        {"incr, flush, append, delete",
         test_incr_flush_append_delete,
         test_setup, teardown, NULL},
        {"incr, flush, append, flush",
         test_incr_flush_append_flush,
         test_setup, teardown, NULL},
        {"incr, flush, append, incr",
         test_incr_flush_append_incr,
         test_setup, teardown, NULL},
        {"incr, flush, append, incrWithDefault",
         test_incr_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, append, prepend",
         test_incr_flush_append_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, append, set",
         test_incr_flush_append_set,
         test_setup, teardown, NULL},
        {"incr, flush, decr, add",
         test_incr_flush_decr_add,
         test_setup, teardown, NULL},
        {"incr, flush, decr, append",
         test_incr_flush_decr_append,
         test_setup, teardown, NULL},
        {"incr, flush, decr, decr",
         test_incr_flush_decr_decr,
         test_setup, teardown, NULL},
        {"incr, flush, decr, decrWithDefault",
         test_incr_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, decr, delay",
         test_incr_flush_decr_delay,
         test_setup, teardown, NULL},
        {"incr, flush, decr, delete",
         test_incr_flush_decr_delete,
         test_setup, teardown, NULL},
        {"incr, flush, decr, flush",
         test_incr_flush_decr_flush,
         test_setup, teardown, NULL},
        {"incr, flush, decr, incr",
         test_incr_flush_decr_incr,
         test_setup, teardown, NULL},
        {"incr, flush, decr, incrWithDefault",
         test_incr_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, decr, prepend",
         test_incr_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, decr, set",
         test_incr_flush_decr_set,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, add",
         test_incr_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, append",
         test_incr_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, decr",
         test_incr_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, decrWithDefault",
         test_incr_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, delay",
         test_incr_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, delete",
         test_incr_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, flush",
         test_incr_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, incr",
         test_incr_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, incrWithDefault",
         test_incr_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, prepend",
         test_incr_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, decrWithDefault, set",
         test_incr_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, flush, delay, add",
         test_incr_flush_delay_add,
         test_setup, teardown, NULL},
        {"incr, flush, delay, append",
         test_incr_flush_delay_append,
         test_setup, teardown, NULL},
        {"incr, flush, delay, decr",
         test_incr_flush_delay_decr,
         test_setup, teardown, NULL},
        {"incr, flush, delay, decrWithDefault",
         test_incr_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, delay, delay",
         test_incr_flush_delay_delay,
         test_setup, teardown, NULL},
        {"incr, flush, delay, delete",
         test_incr_flush_delay_delete,
         test_setup, teardown, NULL},
        {"incr, flush, delay, flush",
         test_incr_flush_delay_flush,
         test_setup, teardown, NULL},
        {"incr, flush, delay, incr",
         test_incr_flush_delay_incr,
         test_setup, teardown, NULL},
        {"incr, flush, delay, incrWithDefault",
         test_incr_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, delay, prepend",
         test_incr_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, delay, set",
         test_incr_flush_delay_set,
         test_setup, teardown, NULL},
        {"incr, flush, delete, add",
         test_incr_flush_delete_add,
         test_setup, teardown, NULL},
        {"incr, flush, delete, append",
         test_incr_flush_delete_append,
         test_setup, teardown, NULL},
        {"incr, flush, delete, decr",
         test_incr_flush_delete_decr,
         test_setup, teardown, NULL},
        {"incr, flush, delete, decrWithDefault",
         test_incr_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, delete, delay",
         test_incr_flush_delete_delay,
         test_setup, teardown, NULL},
        {"incr, flush, delete, delete",
         test_incr_flush_delete_delete,
         test_setup, teardown, NULL},
        {"incr, flush, delete, flush",
         test_incr_flush_delete_flush,
         test_setup, teardown, NULL},
        {"incr, flush, delete, incr",
         test_incr_flush_delete_incr,
         test_setup, teardown, NULL},
        {"incr, flush, delete, incrWithDefault",
         test_incr_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, delete, prepend",
         test_incr_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, delete, set",
         test_incr_flush_delete_set,
         test_setup, teardown, NULL},
        {"incr, flush, flush, add",
         test_incr_flush_flush_add,
         test_setup, teardown, NULL},
        {"incr, flush, flush, append",
         test_incr_flush_flush_append,
         test_setup, teardown, NULL},
        {"incr, flush, flush, decr",
         test_incr_flush_flush_decr,
         test_setup, teardown, NULL},
        {"incr, flush, flush, decrWithDefault",
         test_incr_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, flush, delay",
         test_incr_flush_flush_delay,
         test_setup, teardown, NULL},
        {"incr, flush, flush, delete",
         test_incr_flush_flush_delete,
         test_setup, teardown, NULL},
        {"incr, flush, flush, flush",
         test_incr_flush_flush_flush,
         test_setup, teardown, NULL},
        {"incr, flush, flush, incr",
         test_incr_flush_flush_incr,
         test_setup, teardown, NULL},
        {"incr, flush, flush, incrWithDefault",
         test_incr_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, flush, prepend",
         test_incr_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, flush, set",
         test_incr_flush_flush_set,
         test_setup, teardown, NULL},
        {"incr, flush, incr, add",
         test_incr_flush_incr_add,
         test_setup, teardown, NULL},
        {"incr, flush, incr, append",
         test_incr_flush_incr_append,
         test_setup, teardown, NULL},
        {"incr, flush, incr, decr",
         test_incr_flush_incr_decr,
         test_setup, teardown, NULL},
        {"incr, flush, incr, decrWithDefault",
         test_incr_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, incr, delay",
         test_incr_flush_incr_delay,
         test_setup, teardown, NULL},
        {"incr, flush, incr, delete",
         test_incr_flush_incr_delete,
         test_setup, teardown, NULL},
        {"incr, flush, incr, flush",
         test_incr_flush_incr_flush,
         test_setup, teardown, NULL},
        {"incr, flush, incr, incr",
         test_incr_flush_incr_incr,
         test_setup, teardown, NULL},
        {"incr, flush, incr, incrWithDefault",
         test_incr_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, incr, prepend",
         test_incr_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, incr, set",
         test_incr_flush_incr_set,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, add",
         test_incr_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, append",
         test_incr_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, decr",
         test_incr_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, decrWithDefault",
         test_incr_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, delay",
         test_incr_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, delete",
         test_incr_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, flush",
         test_incr_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, incr",
         test_incr_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, incrWithDefault",
         test_incr_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, prepend",
         test_incr_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, incrWithDefault, set",
         test_incr_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, add",
         test_incr_flush_prepend_add,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, append",
         test_incr_flush_prepend_append,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, decr",
         test_incr_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, decrWithDefault",
         test_incr_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, delay",
         test_incr_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, delete",
         test_incr_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, flush",
         test_incr_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, incr",
         test_incr_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, incrWithDefault",
         test_incr_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, prepend",
         test_incr_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, prepend, set",
         test_incr_flush_prepend_set,
         test_setup, teardown, NULL},
        {"incr, flush, set, add",
         test_incr_flush_set_add,
         test_setup, teardown, NULL},
        {"incr, flush, set, append",
         test_incr_flush_set_append,
         test_setup, teardown, NULL},
        {"incr, flush, set, decr",
         test_incr_flush_set_decr,
         test_setup, teardown, NULL},
        {"incr, flush, set, decrWithDefault",
         test_incr_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, set, delay",
         test_incr_flush_set_delay,
         test_setup, teardown, NULL},
        {"incr, flush, set, delete",
         test_incr_flush_set_delete,
         test_setup, teardown, NULL},
        {"incr, flush, set, flush",
         test_incr_flush_set_flush,
         test_setup, teardown, NULL},
        {"incr, flush, set, incr",
         test_incr_flush_set_incr,
         test_setup, teardown, NULL},
        {"incr, flush, set, incrWithDefault",
         test_incr_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, flush, set, prepend",
         test_incr_flush_set_prepend,
         test_setup, teardown, NULL},
        {"incr, flush, set, set",
         test_incr_flush_set_set,
         test_setup, teardown, NULL},
        {"incr, incr, add, add",
         test_incr_incr_add_add,
         test_setup, teardown, NULL},
        {"incr, incr, add, append",
         test_incr_incr_add_append,
         test_setup, teardown, NULL},
        {"incr, incr, add, decr",
         test_incr_incr_add_decr,
         test_setup, teardown, NULL},
        {"incr, incr, add, decrWithDefault",
         test_incr_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, add, delay",
         test_incr_incr_add_delay,
         test_setup, teardown, NULL},
        {"incr, incr, add, delete",
         test_incr_incr_add_delete,
         test_setup, teardown, NULL},
        {"incr, incr, add, flush",
         test_incr_incr_add_flush,
         test_setup, teardown, NULL},
        {"incr, incr, add, incr",
         test_incr_incr_add_incr,
         test_setup, teardown, NULL},
        {"incr, incr, add, incrWithDefault",
         test_incr_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, add, prepend",
         test_incr_incr_add_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, add, set",
         test_incr_incr_add_set,
         test_setup, teardown, NULL},
        {"incr, incr, append, add",
         test_incr_incr_append_add,
         test_setup, teardown, NULL},
        {"incr, incr, append, append",
         test_incr_incr_append_append,
         test_setup, teardown, NULL},
        {"incr, incr, append, decr",
         test_incr_incr_append_decr,
         test_setup, teardown, NULL},
        {"incr, incr, append, decrWithDefault",
         test_incr_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, append, delay",
         test_incr_incr_append_delay,
         test_setup, teardown, NULL},
        {"incr, incr, append, delete",
         test_incr_incr_append_delete,
         test_setup, teardown, NULL},
        {"incr, incr, append, flush",
         test_incr_incr_append_flush,
         test_setup, teardown, NULL},
        {"incr, incr, append, incr",
         test_incr_incr_append_incr,
         test_setup, teardown, NULL},
        {"incr, incr, append, incrWithDefault",
         test_incr_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, append, prepend",
         test_incr_incr_append_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, append, set",
         test_incr_incr_append_set,
         test_setup, teardown, NULL},
        {"incr, incr, decr, add",
         test_incr_incr_decr_add,
         test_setup, teardown, NULL},
        {"incr, incr, decr, append",
         test_incr_incr_decr_append,
         test_setup, teardown, NULL},
        {"incr, incr, decr, decr",
         test_incr_incr_decr_decr,
         test_setup, teardown, NULL},
        {"incr, incr, decr, decrWithDefault",
         test_incr_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, decr, delay",
         test_incr_incr_decr_delay,
         test_setup, teardown, NULL},
        {"incr, incr, decr, delete",
         test_incr_incr_decr_delete,
         test_setup, teardown, NULL},
        {"incr, incr, decr, flush",
         test_incr_incr_decr_flush,
         test_setup, teardown, NULL},
        {"incr, incr, decr, incr",
         test_incr_incr_decr_incr,
         test_setup, teardown, NULL},
        {"incr, incr, decr, incrWithDefault",
         test_incr_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, decr, prepend",
         test_incr_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, decr, set",
         test_incr_incr_decr_set,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, add",
         test_incr_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, append",
         test_incr_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, decr",
         test_incr_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, decrWithDefault",
         test_incr_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, delay",
         test_incr_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, delete",
         test_incr_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, flush",
         test_incr_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, incr",
         test_incr_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, incrWithDefault",
         test_incr_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, prepend",
         test_incr_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, decrWithDefault, set",
         test_incr_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, incr, delay, add",
         test_incr_incr_delay_add,
         test_setup, teardown, NULL},
        {"incr, incr, delay, append",
         test_incr_incr_delay_append,
         test_setup, teardown, NULL},
        {"incr, incr, delay, decr",
         test_incr_incr_delay_decr,
         test_setup, teardown, NULL},
        {"incr, incr, delay, decrWithDefault",
         test_incr_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, delay, delay",
         test_incr_incr_delay_delay,
         test_setup, teardown, NULL},
        {"incr, incr, delay, delete",
         test_incr_incr_delay_delete,
         test_setup, teardown, NULL},
        {"incr, incr, delay, flush",
         test_incr_incr_delay_flush,
         test_setup, teardown, NULL},
        {"incr, incr, delay, incr",
         test_incr_incr_delay_incr,
         test_setup, teardown, NULL},
        {"incr, incr, delay, incrWithDefault",
         test_incr_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, delay, prepend",
         test_incr_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, delay, set",
         test_incr_incr_delay_set,
         test_setup, teardown, NULL},
        {"incr, incr, delete, add",
         test_incr_incr_delete_add,
         test_setup, teardown, NULL},
        {"incr, incr, delete, append",
         test_incr_incr_delete_append,
         test_setup, teardown, NULL},
        {"incr, incr, delete, decr",
         test_incr_incr_delete_decr,
         test_setup, teardown, NULL},
        {"incr, incr, delete, decrWithDefault",
         test_incr_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, delete, delay",
         test_incr_incr_delete_delay,
         test_setup, teardown, NULL},
        {"incr, incr, delete, delete",
         test_incr_incr_delete_delete,
         test_setup, teardown, NULL},
        {"incr, incr, delete, flush",
         test_incr_incr_delete_flush,
         test_setup, teardown, NULL},
        {"incr, incr, delete, incr",
         test_incr_incr_delete_incr,
         test_setup, teardown, NULL},
        {"incr, incr, delete, incrWithDefault",
         test_incr_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, delete, prepend",
         test_incr_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, delete, set",
         test_incr_incr_delete_set,
         test_setup, teardown, NULL},
        {"incr, incr, flush, add",
         test_incr_incr_flush_add,
         test_setup, teardown, NULL},
        {"incr, incr, flush, append",
         test_incr_incr_flush_append,
         test_setup, teardown, NULL},
        {"incr, incr, flush, decr",
         test_incr_incr_flush_decr,
         test_setup, teardown, NULL},
        {"incr, incr, flush, decrWithDefault",
         test_incr_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, flush, delay",
         test_incr_incr_flush_delay,
         test_setup, teardown, NULL},
        {"incr, incr, flush, delete",
         test_incr_incr_flush_delete,
         test_setup, teardown, NULL},
        {"incr, incr, flush, flush",
         test_incr_incr_flush_flush,
         test_setup, teardown, NULL},
        {"incr, incr, flush, incr",
         test_incr_incr_flush_incr,
         test_setup, teardown, NULL},
        {"incr, incr, flush, incrWithDefault",
         test_incr_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, flush, prepend",
         test_incr_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, flush, set",
         test_incr_incr_flush_set,
         test_setup, teardown, NULL},
        {"incr, incr, incr, add",
         test_incr_incr_incr_add,
         test_setup, teardown, NULL},
        {"incr, incr, incr, append",
         test_incr_incr_incr_append,
         test_setup, teardown, NULL},
        {"incr, incr, incr, decr",
         test_incr_incr_incr_decr,
         test_setup, teardown, NULL},
        {"incr, incr, incr, decrWithDefault",
         test_incr_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, incr, delay",
         test_incr_incr_incr_delay,
         test_setup, teardown, NULL},
        {"incr, incr, incr, delete",
         test_incr_incr_incr_delete,
         test_setup, teardown, NULL},
        {"incr, incr, incr, flush",
         test_incr_incr_incr_flush,
         test_setup, teardown, NULL},
        {"incr, incr, incr, incrWithDefault",
         test_incr_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, incr, prepend",
         test_incr_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, incr, set",
         test_incr_incr_incr_set,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, add",
         test_incr_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, append",
         test_incr_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, decr",
         test_incr_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, decrWithDefault",
         test_incr_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, delay",
         test_incr_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, delete",
         test_incr_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, flush",
         test_incr_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, incr",
         test_incr_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, incrWithDefault",
         test_incr_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, prepend",
         test_incr_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, incrWithDefault, set",
         test_incr_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, add",
         test_incr_incr_prepend_add,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, append",
         test_incr_incr_prepend_append,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, decr",
         test_incr_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, decrWithDefault",
         test_incr_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, delay",
         test_incr_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, delete",
         test_incr_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, flush",
         test_incr_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, incr",
         test_incr_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, incrWithDefault",
         test_incr_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, prepend",
         test_incr_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, prepend, set",
         test_incr_incr_prepend_set,
         test_setup, teardown, NULL},
        {"incr, incr, set, add",
         test_incr_incr_set_add,
         test_setup, teardown, NULL},
        {"incr, incr, set, append",
         test_incr_incr_set_append,
         test_setup, teardown, NULL},
        {"incr, incr, set, decr",
         test_incr_incr_set_decr,
         test_setup, teardown, NULL},
        {"incr, incr, set, decrWithDefault",
         test_incr_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, set, delay",
         test_incr_incr_set_delay,
         test_setup, teardown, NULL},
        {"incr, incr, set, delete",
         test_incr_incr_set_delete,
         test_setup, teardown, NULL},
        {"incr, incr, set, flush",
         test_incr_incr_set_flush,
         test_setup, teardown, NULL},
        {"incr, incr, set, incr",
         test_incr_incr_set_incr,
         test_setup, teardown, NULL},
        {"incr, incr, set, incrWithDefault",
         test_incr_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incr, set, prepend",
         test_incr_incr_set_prepend,
         test_setup, teardown, NULL},
        {"incr, incr, set, set",
         test_incr_incr_set_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, add",
         test_incr_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, append",
         test_incr_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, decr",
         test_incr_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, decrWithDefault",
         test_incr_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, delay",
         test_incr_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, delete",
         test_incr_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, flush",
         test_incr_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, incr",
         test_incr_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, incrWithDefault",
         test_incr_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, prepend",
         test_incr_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, add, set",
         test_incr_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, add",
         test_incr_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, append",
         test_incr_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, decr",
         test_incr_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, decrWithDefault",
         test_incr_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, delay",
         test_incr_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, delete",
         test_incr_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, flush",
         test_incr_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, incr",
         test_incr_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, incrWithDefault",
         test_incr_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, prepend",
         test_incr_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, append, set",
         test_incr_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, add",
         test_incr_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, append",
         test_incr_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, decr",
         test_incr_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, decrWithDefault",
         test_incr_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, delay",
         test_incr_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, delete",
         test_incr_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, flush",
         test_incr_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, incr",
         test_incr_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, incrWithDefault",
         test_incr_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, prepend",
         test_incr_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decr, set",
         test_incr_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, add",
         test_incr_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, append",
         test_incr_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, decr",
         test_incr_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, decrWithDefault",
         test_incr_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, delay",
         test_incr_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, delete",
         test_incr_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, flush",
         test_incr_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, incr",
         test_incr_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, incrWithDefault",
         test_incr_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, prepend",
         test_incr_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, decrWithDefault, set",
         test_incr_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, add",
         test_incr_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, append",
         test_incr_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, decr",
         test_incr_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, decrWithDefault",
         test_incr_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, delay",
         test_incr_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, delete",
         test_incr_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, flush",
         test_incr_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, incr",
         test_incr_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, incrWithDefault",
         test_incr_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, prepend",
         test_incr_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delay, set",
         test_incr_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, add",
         test_incr_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, append",
         test_incr_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, decr",
         test_incr_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, decrWithDefault",
         test_incr_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, delay",
         test_incr_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, delete",
         test_incr_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, flush",
         test_incr_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, incr",
         test_incr_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, incrWithDefault",
         test_incr_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, prepend",
         test_incr_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, delete, set",
         test_incr_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, add",
         test_incr_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, append",
         test_incr_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, decr",
         test_incr_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, decrWithDefault",
         test_incr_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, delay",
         test_incr_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, delete",
         test_incr_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, flush",
         test_incr_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, incr",
         test_incr_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, incrWithDefault",
         test_incr_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, prepend",
         test_incr_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, flush, set",
         test_incr_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, add",
         test_incr_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, append",
         test_incr_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, decr",
         test_incr_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, decrWithDefault",
         test_incr_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, delay",
         test_incr_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, delete",
         test_incr_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, flush",
         test_incr_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, incr",
         test_incr_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, incrWithDefault",
         test_incr_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, prepend",
         test_incr_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incr, set",
         test_incr_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, add",
         test_incr_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, append",
         test_incr_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, decr",
         test_incr_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, decrWithDefault",
         test_incr_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, delay",
         test_incr_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, delete",
         test_incr_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, flush",
         test_incr_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, incr",
         test_incr_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, incrWithDefault",
         test_incr_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, prepend",
         test_incr_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, incrWithDefault, set",
         test_incr_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, add",
         test_incr_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, append",
         test_incr_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, decr",
         test_incr_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, decrWithDefault",
         test_incr_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, delay",
         test_incr_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, delete",
         test_incr_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, flush",
         test_incr_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, incr",
         test_incr_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, incrWithDefault",
         test_incr_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, prepend",
         test_incr_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, prepend, set",
         test_incr_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, add",
         test_incr_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, append",
         test_incr_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, decr",
         test_incr_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, decrWithDefault",
         test_incr_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, delay",
         test_incr_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, delete",
         test_incr_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, flush",
         test_incr_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, incr",
         test_incr_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, incrWithDefault",
         test_incr_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, prepend",
         test_incr_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"incr, incrWithDefault, set, set",
         test_incr_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"incr, prepend, add, add",
         test_incr_prepend_add_add,
         test_setup, teardown, NULL},
        {"incr, prepend, add, append",
         test_incr_prepend_add_append,
         test_setup, teardown, NULL},
        {"incr, prepend, add, decr",
         test_incr_prepend_add_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, add, decrWithDefault",
         test_incr_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, add, delay",
         test_incr_prepend_add_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, add, delete",
         test_incr_prepend_add_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, add, flush",
         test_incr_prepend_add_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, add, incr",
         test_incr_prepend_add_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, add, incrWithDefault",
         test_incr_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, add, prepend",
         test_incr_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, add, set",
         test_incr_prepend_add_set,
         test_setup, teardown, NULL},
        {"incr, prepend, append, add",
         test_incr_prepend_append_add,
         test_setup, teardown, NULL},
        {"incr, prepend, append, append",
         test_incr_prepend_append_append,
         test_setup, teardown, NULL},
        {"incr, prepend, append, decr",
         test_incr_prepend_append_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, append, decrWithDefault",
         test_incr_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, append, delay",
         test_incr_prepend_append_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, append, delete",
         test_incr_prepend_append_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, append, flush",
         test_incr_prepend_append_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, append, incr",
         test_incr_prepend_append_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, append, incrWithDefault",
         test_incr_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, append, prepend",
         test_incr_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, append, set",
         test_incr_prepend_append_set,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, add",
         test_incr_prepend_decr_add,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, append",
         test_incr_prepend_decr_append,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, decr",
         test_incr_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, decrWithDefault",
         test_incr_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, delay",
         test_incr_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, delete",
         test_incr_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, flush",
         test_incr_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, incr",
         test_incr_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, incrWithDefault",
         test_incr_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, prepend",
         test_incr_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, decr, set",
         test_incr_prepend_decr_set,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, add",
         test_incr_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, append",
         test_incr_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, decr",
         test_incr_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, decrWithDefault",
         test_incr_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, delay",
         test_incr_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, delete",
         test_incr_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, flush",
         test_incr_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, incr",
         test_incr_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, incrWithDefault",
         test_incr_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, prepend",
         test_incr_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, decrWithDefault, set",
         test_incr_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, add",
         test_incr_prepend_delay_add,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, append",
         test_incr_prepend_delay_append,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, decr",
         test_incr_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, decrWithDefault",
         test_incr_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, delay",
         test_incr_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, delete",
         test_incr_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, flush",
         test_incr_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, incr",
         test_incr_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, incrWithDefault",
         test_incr_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, prepend",
         test_incr_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, delay, set",
         test_incr_prepend_delay_set,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, add",
         test_incr_prepend_delete_add,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, append",
         test_incr_prepend_delete_append,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, decr",
         test_incr_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, decrWithDefault",
         test_incr_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, delay",
         test_incr_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, delete",
         test_incr_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, flush",
         test_incr_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, incr",
         test_incr_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, incrWithDefault",
         test_incr_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, prepend",
         test_incr_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, delete, set",
         test_incr_prepend_delete_set,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, add",
         test_incr_prepend_flush_add,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, append",
         test_incr_prepend_flush_append,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, decr",
         test_incr_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, decrWithDefault",
         test_incr_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, delay",
         test_incr_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, delete",
         test_incr_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, flush",
         test_incr_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, incr",
         test_incr_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, incrWithDefault",
         test_incr_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, prepend",
         test_incr_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, flush, set",
         test_incr_prepend_flush_set,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, add",
         test_incr_prepend_incr_add,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, append",
         test_incr_prepend_incr_append,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, decr",
         test_incr_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, decrWithDefault",
         test_incr_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, delay",
         test_incr_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, delete",
         test_incr_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, flush",
         test_incr_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, incr",
         test_incr_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, incrWithDefault",
         test_incr_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, prepend",
         test_incr_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, incr, set",
         test_incr_prepend_incr_set,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, add",
         test_incr_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, append",
         test_incr_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, decr",
         test_incr_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, decrWithDefault",
         test_incr_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, delay",
         test_incr_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, delete",
         test_incr_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, flush",
         test_incr_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, incr",
         test_incr_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, incrWithDefault",
         test_incr_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, prepend",
         test_incr_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, incrWithDefault, set",
         test_incr_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, add",
         test_incr_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, append",
         test_incr_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, decr",
         test_incr_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, decrWithDefault",
         test_incr_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, delay",
         test_incr_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, delete",
         test_incr_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, flush",
         test_incr_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, incr",
         test_incr_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, incrWithDefault",
         test_incr_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, prepend",
         test_incr_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, prepend, set",
         test_incr_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"incr, prepend, set, add",
         test_incr_prepend_set_add,
         test_setup, teardown, NULL},
        {"incr, prepend, set, append",
         test_incr_prepend_set_append,
         test_setup, teardown, NULL},
        {"incr, prepend, set, decr",
         test_incr_prepend_set_decr,
         test_setup, teardown, NULL},
        {"incr, prepend, set, decrWithDefault",
         test_incr_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, set, delay",
         test_incr_prepend_set_delay,
         test_setup, teardown, NULL},
        {"incr, prepend, set, delete",
         test_incr_prepend_set_delete,
         test_setup, teardown, NULL},
        {"incr, prepend, set, flush",
         test_incr_prepend_set_flush,
         test_setup, teardown, NULL},
        {"incr, prepend, set, incr",
         test_incr_prepend_set_incr,
         test_setup, teardown, NULL},
        {"incr, prepend, set, incrWithDefault",
         test_incr_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, prepend, set, prepend",
         test_incr_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"incr, prepend, set, set",
         test_incr_prepend_set_set,
         test_setup, teardown, NULL},
        {"incr, set, add, add",
         test_incr_set_add_add,
         test_setup, teardown, NULL},
        {"incr, set, add, append",
         test_incr_set_add_append,
         test_setup, teardown, NULL},
        {"incr, set, add, decr",
         test_incr_set_add_decr,
         test_setup, teardown, NULL},
        {"incr, set, add, decrWithDefault",
         test_incr_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, add, delay",
         test_incr_set_add_delay,
         test_setup, teardown, NULL},
        {"incr, set, add, delete",
         test_incr_set_add_delete,
         test_setup, teardown, NULL},
        {"incr, set, add, flush",
         test_incr_set_add_flush,
         test_setup, teardown, NULL},
        {"incr, set, add, incr",
         test_incr_set_add_incr,
         test_setup, teardown, NULL},
        {"incr, set, add, incrWithDefault",
         test_incr_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, add, prepend",
         test_incr_set_add_prepend,
         test_setup, teardown, NULL},
        {"incr, set, add, set",
         test_incr_set_add_set,
         test_setup, teardown, NULL},
        {"incr, set, append, add",
         test_incr_set_append_add,
         test_setup, teardown, NULL},
        {"incr, set, append, append",
         test_incr_set_append_append,
         test_setup, teardown, NULL},
        {"incr, set, append, decr",
         test_incr_set_append_decr,
         test_setup, teardown, NULL},
        {"incr, set, append, decrWithDefault",
         test_incr_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, append, delay",
         test_incr_set_append_delay,
         test_setup, teardown, NULL},
        {"incr, set, append, delete",
         test_incr_set_append_delete,
         test_setup, teardown, NULL},
        {"incr, set, append, flush",
         test_incr_set_append_flush,
         test_setup, teardown, NULL},
        {"incr, set, append, incr",
         test_incr_set_append_incr,
         test_setup, teardown, NULL},
        {"incr, set, append, incrWithDefault",
         test_incr_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, append, prepend",
         test_incr_set_append_prepend,
         test_setup, teardown, NULL},
        {"incr, set, append, set",
         test_incr_set_append_set,
         test_setup, teardown, NULL},
        {"incr, set, decr, add",
         test_incr_set_decr_add,
         test_setup, teardown, NULL},
        {"incr, set, decr, append",
         test_incr_set_decr_append,
         test_setup, teardown, NULL},
        {"incr, set, decr, decr",
         test_incr_set_decr_decr,
         test_setup, teardown, NULL},
        {"incr, set, decr, decrWithDefault",
         test_incr_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, decr, delay",
         test_incr_set_decr_delay,
         test_setup, teardown, NULL},
        {"incr, set, decr, delete",
         test_incr_set_decr_delete,
         test_setup, teardown, NULL},
        {"incr, set, decr, flush",
         test_incr_set_decr_flush,
         test_setup, teardown, NULL},
        {"incr, set, decr, incr",
         test_incr_set_decr_incr,
         test_setup, teardown, NULL},
        {"incr, set, decr, incrWithDefault",
         test_incr_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, decr, prepend",
         test_incr_set_decr_prepend,
         test_setup, teardown, NULL},
        {"incr, set, decr, set",
         test_incr_set_decr_set,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, add",
         test_incr_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, append",
         test_incr_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, decr",
         test_incr_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, decrWithDefault",
         test_incr_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, delay",
         test_incr_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, delete",
         test_incr_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, flush",
         test_incr_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, incr",
         test_incr_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, incrWithDefault",
         test_incr_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, prepend",
         test_incr_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, set, decrWithDefault, set",
         test_incr_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, set, delay, add",
         test_incr_set_delay_add,
         test_setup, teardown, NULL},
        {"incr, set, delay, append",
         test_incr_set_delay_append,
         test_setup, teardown, NULL},
        {"incr, set, delay, decr",
         test_incr_set_delay_decr,
         test_setup, teardown, NULL},
        {"incr, set, delay, decrWithDefault",
         test_incr_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, delay, delay",
         test_incr_set_delay_delay,
         test_setup, teardown, NULL},
        {"incr, set, delay, delete",
         test_incr_set_delay_delete,
         test_setup, teardown, NULL},
        {"incr, set, delay, flush",
         test_incr_set_delay_flush,
         test_setup, teardown, NULL},
        {"incr, set, delay, incr",
         test_incr_set_delay_incr,
         test_setup, teardown, NULL},
        {"incr, set, delay, incrWithDefault",
         test_incr_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, delay, prepend",
         test_incr_set_delay_prepend,
         test_setup, teardown, NULL},
        {"incr, set, delay, set",
         test_incr_set_delay_set,
         test_setup, teardown, NULL},
        {"incr, set, delete, add",
         test_incr_set_delete_add,
         test_setup, teardown, NULL},
        {"incr, set, delete, append",
         test_incr_set_delete_append,
         test_setup, teardown, NULL},
        {"incr, set, delete, decr",
         test_incr_set_delete_decr,
         test_setup, teardown, NULL},
        {"incr, set, delete, decrWithDefault",
         test_incr_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, delete, delay",
         test_incr_set_delete_delay,
         test_setup, teardown, NULL},
        {"incr, set, delete, delete",
         test_incr_set_delete_delete,
         test_setup, teardown, NULL},
        {"incr, set, delete, flush",
         test_incr_set_delete_flush,
         test_setup, teardown, NULL},
        {"incr, set, delete, incr",
         test_incr_set_delete_incr,
         test_setup, teardown, NULL},
        {"incr, set, delete, incrWithDefault",
         test_incr_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, delete, prepend",
         test_incr_set_delete_prepend,
         test_setup, teardown, NULL},
        {"incr, set, delete, set",
         test_incr_set_delete_set,
         test_setup, teardown, NULL},
        {"incr, set, flush, add",
         test_incr_set_flush_add,
         test_setup, teardown, NULL},
        {"incr, set, flush, append",
         test_incr_set_flush_append,
         test_setup, teardown, NULL},
        {"incr, set, flush, decr",
         test_incr_set_flush_decr,
         test_setup, teardown, NULL},
        {"incr, set, flush, decrWithDefault",
         test_incr_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, flush, delay",
         test_incr_set_flush_delay,
         test_setup, teardown, NULL},
        {"incr, set, flush, delete",
         test_incr_set_flush_delete,
         test_setup, teardown, NULL},
        {"incr, set, flush, flush",
         test_incr_set_flush_flush,
         test_setup, teardown, NULL},
        {"incr, set, flush, incr",
         test_incr_set_flush_incr,
         test_setup, teardown, NULL},
        {"incr, set, flush, incrWithDefault",
         test_incr_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, flush, prepend",
         test_incr_set_flush_prepend,
         test_setup, teardown, NULL},
        {"incr, set, flush, set",
         test_incr_set_flush_set,
         test_setup, teardown, NULL},
        {"incr, set, incr, add",
         test_incr_set_incr_add,
         test_setup, teardown, NULL},
        {"incr, set, incr, append",
         test_incr_set_incr_append,
         test_setup, teardown, NULL},
        {"incr, set, incr, decr",
         test_incr_set_incr_decr,
         test_setup, teardown, NULL},
        {"incr, set, incr, decrWithDefault",
         test_incr_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, incr, delay",
         test_incr_set_incr_delay,
         test_setup, teardown, NULL},
        {"incr, set, incr, delete",
         test_incr_set_incr_delete,
         test_setup, teardown, NULL},
        {"incr, set, incr, flush",
         test_incr_set_incr_flush,
         test_setup, teardown, NULL},
        {"incr, set, incr, incr",
         test_incr_set_incr_incr,
         test_setup, teardown, NULL},
        {"incr, set, incr, incrWithDefault",
         test_incr_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, incr, prepend",
         test_incr_set_incr_prepend,
         test_setup, teardown, NULL},
        {"incr, set, incr, set",
         test_incr_set_incr_set,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, add",
         test_incr_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, append",
         test_incr_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, decr",
         test_incr_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, decrWithDefault",
         test_incr_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, delay",
         test_incr_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, delete",
         test_incr_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, flush",
         test_incr_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, incr",
         test_incr_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, incrWithDefault",
         test_incr_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, prepend",
         test_incr_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incr, set, incrWithDefault, set",
         test_incr_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incr, set, prepend, add",
         test_incr_set_prepend_add,
         test_setup, teardown, NULL},
        {"incr, set, prepend, append",
         test_incr_set_prepend_append,
         test_setup, teardown, NULL},
        {"incr, set, prepend, decr",
         test_incr_set_prepend_decr,
         test_setup, teardown, NULL},
        {"incr, set, prepend, decrWithDefault",
         test_incr_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, prepend, delay",
         test_incr_set_prepend_delay,
         test_setup, teardown, NULL},
        {"incr, set, prepend, delete",
         test_incr_set_prepend_delete,
         test_setup, teardown, NULL},
        {"incr, set, prepend, flush",
         test_incr_set_prepend_flush,
         test_setup, teardown, NULL},
        {"incr, set, prepend, incr",
         test_incr_set_prepend_incr,
         test_setup, teardown, NULL},
        {"incr, set, prepend, incrWithDefault",
         test_incr_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, prepend, prepend",
         test_incr_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"incr, set, prepend, set",
         test_incr_set_prepend_set,
         test_setup, teardown, NULL},
        {"incr, set, set, add",
         test_incr_set_set_add,
         test_setup, teardown, NULL},
        {"incr, set, set, append",
         test_incr_set_set_append,
         test_setup, teardown, NULL},
        {"incr, set, set, decr",
         test_incr_set_set_decr,
         test_setup, teardown, NULL},
        {"incr, set, set, decrWithDefault",
         test_incr_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, set, delay",
         test_incr_set_set_delay,
         test_setup, teardown, NULL},
        {"incr, set, set, delete",
         test_incr_set_set_delete,
         test_setup, teardown, NULL},
        {"incr, set, set, flush",
         test_incr_set_set_flush,
         test_setup, teardown, NULL},
        {"incr, set, set, incr",
         test_incr_set_set_incr,
         test_setup, teardown, NULL},
        {"incr, set, set, incrWithDefault",
         test_incr_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incr, set, set, prepend",
         test_incr_set_set_prepend,
         test_setup, teardown, NULL},
        {"incr, set, set, set",
         test_incr_set_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, add",
         test_incrWithDefault_add_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, append",
         test_incrWithDefault_add_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, decr",
         test_incrWithDefault_add_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, decrWithDefault",
         test_incrWithDefault_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, delay",
         test_incrWithDefault_add_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, delete",
         test_incrWithDefault_add_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, flush",
         test_incrWithDefault_add_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, incr",
         test_incrWithDefault_add_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, incrWithDefault",
         test_incrWithDefault_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, prepend",
         test_incrWithDefault_add_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, add, set",
         test_incrWithDefault_add_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, add",
         test_incrWithDefault_add_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, append",
         test_incrWithDefault_add_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, decr",
         test_incrWithDefault_add_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, decrWithDefault",
         test_incrWithDefault_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, delay",
         test_incrWithDefault_add_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, delete",
         test_incrWithDefault_add_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, flush",
         test_incrWithDefault_add_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, incr",
         test_incrWithDefault_add_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, incrWithDefault",
         test_incrWithDefault_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, prepend",
         test_incrWithDefault_add_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, append, set",
         test_incrWithDefault_add_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, add",
         test_incrWithDefault_add_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, append",
         test_incrWithDefault_add_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, decr",
         test_incrWithDefault_add_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, decrWithDefault",
         test_incrWithDefault_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, delay",
         test_incrWithDefault_add_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, delete",
         test_incrWithDefault_add_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, flush",
         test_incrWithDefault_add_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, incr",
         test_incrWithDefault_add_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, incrWithDefault",
         test_incrWithDefault_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, prepend",
         test_incrWithDefault_add_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decr, set",
         test_incrWithDefault_add_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, add",
         test_incrWithDefault_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, append",
         test_incrWithDefault_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, decr",
         test_incrWithDefault_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, decrWithDefault",
         test_incrWithDefault_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, delay",
         test_incrWithDefault_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, delete",
         test_incrWithDefault_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, flush",
         test_incrWithDefault_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, incr",
         test_incrWithDefault_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, incrWithDefault",
         test_incrWithDefault_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, prepend",
         test_incrWithDefault_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, decrWithDefault, set",
         test_incrWithDefault_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, add",
         test_incrWithDefault_add_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, append",
         test_incrWithDefault_add_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, decr",
         test_incrWithDefault_add_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, decrWithDefault",
         test_incrWithDefault_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, delay",
         test_incrWithDefault_add_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, delete",
         test_incrWithDefault_add_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, flush",
         test_incrWithDefault_add_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, incr",
         test_incrWithDefault_add_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, incrWithDefault",
         test_incrWithDefault_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, prepend",
         test_incrWithDefault_add_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delay, set",
         test_incrWithDefault_add_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, add",
         test_incrWithDefault_add_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, append",
         test_incrWithDefault_add_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, decr",
         test_incrWithDefault_add_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, decrWithDefault",
         test_incrWithDefault_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, delay",
         test_incrWithDefault_add_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, delete",
         test_incrWithDefault_add_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, flush",
         test_incrWithDefault_add_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, incr",
         test_incrWithDefault_add_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, incrWithDefault",
         test_incrWithDefault_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, prepend",
         test_incrWithDefault_add_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, delete, set",
         test_incrWithDefault_add_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, add",
         test_incrWithDefault_add_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, append",
         test_incrWithDefault_add_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, decr",
         test_incrWithDefault_add_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, decrWithDefault",
         test_incrWithDefault_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, delay",
         test_incrWithDefault_add_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, delete",
         test_incrWithDefault_add_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, flush",
         test_incrWithDefault_add_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, incr",
         test_incrWithDefault_add_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, incrWithDefault",
         test_incrWithDefault_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, prepend",
         test_incrWithDefault_add_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, flush, set",
         test_incrWithDefault_add_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, add",
         test_incrWithDefault_add_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, append",
         test_incrWithDefault_add_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, decr",
         test_incrWithDefault_add_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, decrWithDefault",
         test_incrWithDefault_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, delay",
         test_incrWithDefault_add_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, delete",
         test_incrWithDefault_add_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, flush",
         test_incrWithDefault_add_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, incr",
         test_incrWithDefault_add_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, incrWithDefault",
         test_incrWithDefault_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, prepend",
         test_incrWithDefault_add_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incr, set",
         test_incrWithDefault_add_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, add",
         test_incrWithDefault_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, append",
         test_incrWithDefault_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, decr",
         test_incrWithDefault_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, decrWithDefault",
         test_incrWithDefault_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, delay",
         test_incrWithDefault_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, delete",
         test_incrWithDefault_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, flush",
         test_incrWithDefault_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, incr",
         test_incrWithDefault_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, incrWithDefault",
         test_incrWithDefault_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, prepend",
         test_incrWithDefault_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, incrWithDefault, set",
         test_incrWithDefault_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, add",
         test_incrWithDefault_add_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, append",
         test_incrWithDefault_add_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, decr",
         test_incrWithDefault_add_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, decrWithDefault",
         test_incrWithDefault_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, delay",
         test_incrWithDefault_add_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, delete",
         test_incrWithDefault_add_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, flush",
         test_incrWithDefault_add_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, incr",
         test_incrWithDefault_add_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, incrWithDefault",
         test_incrWithDefault_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, prepend",
         test_incrWithDefault_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, prepend, set",
         test_incrWithDefault_add_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, add",
         test_incrWithDefault_add_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, append",
         test_incrWithDefault_add_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, decr",
         test_incrWithDefault_add_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, decrWithDefault",
         test_incrWithDefault_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, delay",
         test_incrWithDefault_add_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, delete",
         test_incrWithDefault_add_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, flush",
         test_incrWithDefault_add_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, incr",
         test_incrWithDefault_add_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, incrWithDefault",
         test_incrWithDefault_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, prepend",
         test_incrWithDefault_add_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, add, set, set",
         test_incrWithDefault_add_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, add",
         test_incrWithDefault_append_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, append",
         test_incrWithDefault_append_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, decr",
         test_incrWithDefault_append_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, decrWithDefault",
         test_incrWithDefault_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, delay",
         test_incrWithDefault_append_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, delete",
         test_incrWithDefault_append_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, flush",
         test_incrWithDefault_append_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, incr",
         test_incrWithDefault_append_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, incrWithDefault",
         test_incrWithDefault_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, prepend",
         test_incrWithDefault_append_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, add, set",
         test_incrWithDefault_append_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, add",
         test_incrWithDefault_append_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, append",
         test_incrWithDefault_append_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, decr",
         test_incrWithDefault_append_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, decrWithDefault",
         test_incrWithDefault_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, delay",
         test_incrWithDefault_append_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, delete",
         test_incrWithDefault_append_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, flush",
         test_incrWithDefault_append_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, incr",
         test_incrWithDefault_append_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, incrWithDefault",
         test_incrWithDefault_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, prepend",
         test_incrWithDefault_append_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, append, set",
         test_incrWithDefault_append_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, add",
         test_incrWithDefault_append_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, append",
         test_incrWithDefault_append_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, decr",
         test_incrWithDefault_append_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, decrWithDefault",
         test_incrWithDefault_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, delay",
         test_incrWithDefault_append_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, delete",
         test_incrWithDefault_append_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, flush",
         test_incrWithDefault_append_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, incr",
         test_incrWithDefault_append_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, incrWithDefault",
         test_incrWithDefault_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, prepend",
         test_incrWithDefault_append_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decr, set",
         test_incrWithDefault_append_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, add",
         test_incrWithDefault_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, append",
         test_incrWithDefault_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, decr",
         test_incrWithDefault_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, decrWithDefault",
         test_incrWithDefault_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, delay",
         test_incrWithDefault_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, delete",
         test_incrWithDefault_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, flush",
         test_incrWithDefault_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, incr",
         test_incrWithDefault_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, incrWithDefault",
         test_incrWithDefault_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, prepend",
         test_incrWithDefault_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, decrWithDefault, set",
         test_incrWithDefault_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, add",
         test_incrWithDefault_append_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, append",
         test_incrWithDefault_append_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, decr",
         test_incrWithDefault_append_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, decrWithDefault",
         test_incrWithDefault_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, delay",
         test_incrWithDefault_append_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, delete",
         test_incrWithDefault_append_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, flush",
         test_incrWithDefault_append_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, incr",
         test_incrWithDefault_append_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, incrWithDefault",
         test_incrWithDefault_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, prepend",
         test_incrWithDefault_append_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delay, set",
         test_incrWithDefault_append_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, add",
         test_incrWithDefault_append_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, append",
         test_incrWithDefault_append_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, decr",
         test_incrWithDefault_append_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, decrWithDefault",
         test_incrWithDefault_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, delay",
         test_incrWithDefault_append_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, delete",
         test_incrWithDefault_append_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, flush",
         test_incrWithDefault_append_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, incr",
         test_incrWithDefault_append_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, incrWithDefault",
         test_incrWithDefault_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, prepend",
         test_incrWithDefault_append_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, delete, set",
         test_incrWithDefault_append_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, add",
         test_incrWithDefault_append_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, append",
         test_incrWithDefault_append_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, decr",
         test_incrWithDefault_append_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, decrWithDefault",
         test_incrWithDefault_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, delay",
         test_incrWithDefault_append_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, delete",
         test_incrWithDefault_append_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, flush",
         test_incrWithDefault_append_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, incr",
         test_incrWithDefault_append_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, incrWithDefault",
         test_incrWithDefault_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, prepend",
         test_incrWithDefault_append_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, flush, set",
         test_incrWithDefault_append_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, add",
         test_incrWithDefault_append_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, append",
         test_incrWithDefault_append_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, decr",
         test_incrWithDefault_append_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, decrWithDefault",
         test_incrWithDefault_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, delay",
         test_incrWithDefault_append_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, delete",
         test_incrWithDefault_append_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, flush",
         test_incrWithDefault_append_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, incr",
         test_incrWithDefault_append_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, incrWithDefault",
         test_incrWithDefault_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, prepend",
         test_incrWithDefault_append_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incr, set",
         test_incrWithDefault_append_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, add",
         test_incrWithDefault_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, append",
         test_incrWithDefault_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, decr",
         test_incrWithDefault_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, decrWithDefault",
         test_incrWithDefault_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, delay",
         test_incrWithDefault_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, delete",
         test_incrWithDefault_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, flush",
         test_incrWithDefault_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, incr",
         test_incrWithDefault_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, incrWithDefault",
         test_incrWithDefault_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, prepend",
         test_incrWithDefault_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, incrWithDefault, set",
         test_incrWithDefault_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, add",
         test_incrWithDefault_append_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, append",
         test_incrWithDefault_append_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, decr",
         test_incrWithDefault_append_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, decrWithDefault",
         test_incrWithDefault_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, delay",
         test_incrWithDefault_append_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, delete",
         test_incrWithDefault_append_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, flush",
         test_incrWithDefault_append_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, incr",
         test_incrWithDefault_append_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, incrWithDefault",
         test_incrWithDefault_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, prepend",
         test_incrWithDefault_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, prepend, set",
         test_incrWithDefault_append_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, add",
         test_incrWithDefault_append_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, append",
         test_incrWithDefault_append_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, decr",
         test_incrWithDefault_append_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, decrWithDefault",
         test_incrWithDefault_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, delay",
         test_incrWithDefault_append_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, delete",
         test_incrWithDefault_append_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, flush",
         test_incrWithDefault_append_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, incr",
         test_incrWithDefault_append_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, incrWithDefault",
         test_incrWithDefault_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, prepend",
         test_incrWithDefault_append_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, append, set, set",
         test_incrWithDefault_append_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, add",
         test_incrWithDefault_decr_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, append",
         test_incrWithDefault_decr_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, decr",
         test_incrWithDefault_decr_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, decrWithDefault",
         test_incrWithDefault_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, delay",
         test_incrWithDefault_decr_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, delete",
         test_incrWithDefault_decr_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, flush",
         test_incrWithDefault_decr_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, incr",
         test_incrWithDefault_decr_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, incrWithDefault",
         test_incrWithDefault_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, prepend",
         test_incrWithDefault_decr_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, add, set",
         test_incrWithDefault_decr_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, add",
         test_incrWithDefault_decr_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, append",
         test_incrWithDefault_decr_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, decr",
         test_incrWithDefault_decr_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, decrWithDefault",
         test_incrWithDefault_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, delay",
         test_incrWithDefault_decr_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, delete",
         test_incrWithDefault_decr_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, flush",
         test_incrWithDefault_decr_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, incr",
         test_incrWithDefault_decr_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, incrWithDefault",
         test_incrWithDefault_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, prepend",
         test_incrWithDefault_decr_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, append, set",
         test_incrWithDefault_decr_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, add",
         test_incrWithDefault_decr_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, append",
         test_incrWithDefault_decr_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, decr",
         test_incrWithDefault_decr_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, decrWithDefault",
         test_incrWithDefault_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, delay",
         test_incrWithDefault_decr_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, delete",
         test_incrWithDefault_decr_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, flush",
         test_incrWithDefault_decr_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, incr",
         test_incrWithDefault_decr_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, incrWithDefault",
         test_incrWithDefault_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, prepend",
         test_incrWithDefault_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decr, set",
         test_incrWithDefault_decr_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, add",
         test_incrWithDefault_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, append",
         test_incrWithDefault_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, decr",
         test_incrWithDefault_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, decrWithDefault",
         test_incrWithDefault_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, delay",
         test_incrWithDefault_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, delete",
         test_incrWithDefault_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, flush",
         test_incrWithDefault_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, incr",
         test_incrWithDefault_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, incrWithDefault",
         test_incrWithDefault_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, prepend",
         test_incrWithDefault_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, decrWithDefault, set",
         test_incrWithDefault_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, add",
         test_incrWithDefault_decr_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, append",
         test_incrWithDefault_decr_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, decr",
         test_incrWithDefault_decr_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, decrWithDefault",
         test_incrWithDefault_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, delay",
         test_incrWithDefault_decr_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, delete",
         test_incrWithDefault_decr_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, flush",
         test_incrWithDefault_decr_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, incr",
         test_incrWithDefault_decr_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, incrWithDefault",
         test_incrWithDefault_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, prepend",
         test_incrWithDefault_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delay, set",
         test_incrWithDefault_decr_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, add",
         test_incrWithDefault_decr_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, append",
         test_incrWithDefault_decr_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, decr",
         test_incrWithDefault_decr_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, decrWithDefault",
         test_incrWithDefault_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, delay",
         test_incrWithDefault_decr_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, delete",
         test_incrWithDefault_decr_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, flush",
         test_incrWithDefault_decr_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, incr",
         test_incrWithDefault_decr_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, incrWithDefault",
         test_incrWithDefault_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, prepend",
         test_incrWithDefault_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, delete, set",
         test_incrWithDefault_decr_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, add",
         test_incrWithDefault_decr_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, append",
         test_incrWithDefault_decr_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, decr",
         test_incrWithDefault_decr_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, decrWithDefault",
         test_incrWithDefault_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, delay",
         test_incrWithDefault_decr_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, delete",
         test_incrWithDefault_decr_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, flush",
         test_incrWithDefault_decr_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, incr",
         test_incrWithDefault_decr_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, incrWithDefault",
         test_incrWithDefault_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, prepend",
         test_incrWithDefault_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, flush, set",
         test_incrWithDefault_decr_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, add",
         test_incrWithDefault_decr_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, append",
         test_incrWithDefault_decr_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, decr",
         test_incrWithDefault_decr_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, decrWithDefault",
         test_incrWithDefault_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, delay",
         test_incrWithDefault_decr_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, delete",
         test_incrWithDefault_decr_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, flush",
         test_incrWithDefault_decr_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, incr",
         test_incrWithDefault_decr_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, incrWithDefault",
         test_incrWithDefault_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, prepend",
         test_incrWithDefault_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incr, set",
         test_incrWithDefault_decr_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, add",
         test_incrWithDefault_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, append",
         test_incrWithDefault_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, decr",
         test_incrWithDefault_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, decrWithDefault",
         test_incrWithDefault_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, delay",
         test_incrWithDefault_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, delete",
         test_incrWithDefault_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, flush",
         test_incrWithDefault_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, incr",
         test_incrWithDefault_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, incrWithDefault",
         test_incrWithDefault_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, prepend",
         test_incrWithDefault_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, incrWithDefault, set",
         test_incrWithDefault_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, add",
         test_incrWithDefault_decr_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, append",
         test_incrWithDefault_decr_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, decr",
         test_incrWithDefault_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, decrWithDefault",
         test_incrWithDefault_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, delay",
         test_incrWithDefault_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, delete",
         test_incrWithDefault_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, flush",
         test_incrWithDefault_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, incr",
         test_incrWithDefault_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, incrWithDefault",
         test_incrWithDefault_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, prepend",
         test_incrWithDefault_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, prepend, set",
         test_incrWithDefault_decr_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, add",
         test_incrWithDefault_decr_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, append",
         test_incrWithDefault_decr_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, decr",
         test_incrWithDefault_decr_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, decrWithDefault",
         test_incrWithDefault_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, delay",
         test_incrWithDefault_decr_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, delete",
         test_incrWithDefault_decr_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, flush",
         test_incrWithDefault_decr_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, incr",
         test_incrWithDefault_decr_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, incrWithDefault",
         test_incrWithDefault_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, prepend",
         test_incrWithDefault_decr_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decr, set, set",
         test_incrWithDefault_decr_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, add",
         test_incrWithDefault_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, append",
         test_incrWithDefault_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, decr",
         test_incrWithDefault_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, decrWithDefault",
         test_incrWithDefault_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, delay",
         test_incrWithDefault_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, delete",
         test_incrWithDefault_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, flush",
         test_incrWithDefault_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, incr",
         test_incrWithDefault_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, incrWithDefault",
         test_incrWithDefault_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, prepend",
         test_incrWithDefault_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, add, set",
         test_incrWithDefault_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, add",
         test_incrWithDefault_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, append",
         test_incrWithDefault_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, decr",
         test_incrWithDefault_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, decrWithDefault",
         test_incrWithDefault_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, delay",
         test_incrWithDefault_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, delete",
         test_incrWithDefault_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, flush",
         test_incrWithDefault_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, incr",
         test_incrWithDefault_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, incrWithDefault",
         test_incrWithDefault_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, prepend",
         test_incrWithDefault_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, append, set",
         test_incrWithDefault_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, add",
         test_incrWithDefault_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, append",
         test_incrWithDefault_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, decr",
         test_incrWithDefault_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, decrWithDefault",
         test_incrWithDefault_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, delay",
         test_incrWithDefault_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, delete",
         test_incrWithDefault_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, flush",
         test_incrWithDefault_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, incr",
         test_incrWithDefault_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, incrWithDefault",
         test_incrWithDefault_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, prepend",
         test_incrWithDefault_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decr, set",
         test_incrWithDefault_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, add",
         test_incrWithDefault_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, append",
         test_incrWithDefault_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, decr",
         test_incrWithDefault_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, decrWithDefault",
         test_incrWithDefault_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, delay",
         test_incrWithDefault_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, delete",
         test_incrWithDefault_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, flush",
         test_incrWithDefault_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, incr",
         test_incrWithDefault_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, incrWithDefault",
         test_incrWithDefault_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, prepend",
         test_incrWithDefault_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, decrWithDefault, set",
         test_incrWithDefault_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, add",
         test_incrWithDefault_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, append",
         test_incrWithDefault_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, decr",
         test_incrWithDefault_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, decrWithDefault",
         test_incrWithDefault_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, delay",
         test_incrWithDefault_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, delete",
         test_incrWithDefault_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, flush",
         test_incrWithDefault_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, incr",
         test_incrWithDefault_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, incrWithDefault",
         test_incrWithDefault_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, prepend",
         test_incrWithDefault_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delay, set",
         test_incrWithDefault_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, add",
         test_incrWithDefault_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, append",
         test_incrWithDefault_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, decr",
         test_incrWithDefault_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, decrWithDefault",
         test_incrWithDefault_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, delay",
         test_incrWithDefault_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, delete",
         test_incrWithDefault_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, flush",
         test_incrWithDefault_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, incr",
         test_incrWithDefault_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, incrWithDefault",
         test_incrWithDefault_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, prepend",
         test_incrWithDefault_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, delete, set",
         test_incrWithDefault_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, add",
         test_incrWithDefault_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, append",
         test_incrWithDefault_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, decr",
         test_incrWithDefault_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, decrWithDefault",
         test_incrWithDefault_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, delay",
         test_incrWithDefault_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, delete",
         test_incrWithDefault_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, flush",
         test_incrWithDefault_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, incr",
         test_incrWithDefault_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, incrWithDefault",
         test_incrWithDefault_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, prepend",
         test_incrWithDefault_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, flush, set",
         test_incrWithDefault_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, add",
         test_incrWithDefault_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, append",
         test_incrWithDefault_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, decr",
         test_incrWithDefault_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, decrWithDefault",
         test_incrWithDefault_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, delay",
         test_incrWithDefault_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, delete",
         test_incrWithDefault_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, flush",
         test_incrWithDefault_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, incr",
         test_incrWithDefault_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, incrWithDefault",
         test_incrWithDefault_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, prepend",
         test_incrWithDefault_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incr, set",
         test_incrWithDefault_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, add",
         test_incrWithDefault_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, append",
         test_incrWithDefault_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, decr",
         test_incrWithDefault_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, decrWithDefault",
         test_incrWithDefault_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, delay",
         test_incrWithDefault_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, delete",
         test_incrWithDefault_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, flush",
         test_incrWithDefault_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, incr",
         test_incrWithDefault_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, incrWithDefault",
         test_incrWithDefault_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, prepend",
         test_incrWithDefault_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, incrWithDefault, set",
         test_incrWithDefault_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, add",
         test_incrWithDefault_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, append",
         test_incrWithDefault_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, decr",
         test_incrWithDefault_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, decrWithDefault",
         test_incrWithDefault_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, delay",
         test_incrWithDefault_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, delete",
         test_incrWithDefault_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, flush",
         test_incrWithDefault_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, incr",
         test_incrWithDefault_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, incrWithDefault",
         test_incrWithDefault_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, prepend",
         test_incrWithDefault_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, prepend, set",
         test_incrWithDefault_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, add",
         test_incrWithDefault_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, append",
         test_incrWithDefault_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, decr",
         test_incrWithDefault_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, decrWithDefault",
         test_incrWithDefault_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, delay",
         test_incrWithDefault_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, delete",
         test_incrWithDefault_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, flush",
         test_incrWithDefault_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, incr",
         test_incrWithDefault_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, incrWithDefault",
         test_incrWithDefault_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, prepend",
         test_incrWithDefault_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, decrWithDefault, set, set",
         test_incrWithDefault_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, add",
         test_incrWithDefault_delay_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, append",
         test_incrWithDefault_delay_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, decr",
         test_incrWithDefault_delay_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, decrWithDefault",
         test_incrWithDefault_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, delay",
         test_incrWithDefault_delay_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, delete",
         test_incrWithDefault_delay_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, flush",
         test_incrWithDefault_delay_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, incr",
         test_incrWithDefault_delay_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, incrWithDefault",
         test_incrWithDefault_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, prepend",
         test_incrWithDefault_delay_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, add, set",
         test_incrWithDefault_delay_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, add",
         test_incrWithDefault_delay_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, append",
         test_incrWithDefault_delay_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, decr",
         test_incrWithDefault_delay_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, decrWithDefault",
         test_incrWithDefault_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, delay",
         test_incrWithDefault_delay_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, delete",
         test_incrWithDefault_delay_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, flush",
         test_incrWithDefault_delay_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, incr",
         test_incrWithDefault_delay_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, incrWithDefault",
         test_incrWithDefault_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, prepend",
         test_incrWithDefault_delay_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, append, set",
         test_incrWithDefault_delay_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, add",
         test_incrWithDefault_delay_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, append",
         test_incrWithDefault_delay_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, decr",
         test_incrWithDefault_delay_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, decrWithDefault",
         test_incrWithDefault_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, delay",
         test_incrWithDefault_delay_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, delete",
         test_incrWithDefault_delay_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, flush",
         test_incrWithDefault_delay_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, incr",
         test_incrWithDefault_delay_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, incrWithDefault",
         test_incrWithDefault_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, prepend",
         test_incrWithDefault_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decr, set",
         test_incrWithDefault_delay_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, add",
         test_incrWithDefault_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, append",
         test_incrWithDefault_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, decr",
         test_incrWithDefault_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, decrWithDefault",
         test_incrWithDefault_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, delay",
         test_incrWithDefault_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, delete",
         test_incrWithDefault_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, flush",
         test_incrWithDefault_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, incr",
         test_incrWithDefault_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, incrWithDefault",
         test_incrWithDefault_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, prepend",
         test_incrWithDefault_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, decrWithDefault, set",
         test_incrWithDefault_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, add",
         test_incrWithDefault_delay_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, append",
         test_incrWithDefault_delay_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, decr",
         test_incrWithDefault_delay_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, decrWithDefault",
         test_incrWithDefault_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, delay",
         test_incrWithDefault_delay_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, delete",
         test_incrWithDefault_delay_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, flush",
         test_incrWithDefault_delay_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, incr",
         test_incrWithDefault_delay_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, incrWithDefault",
         test_incrWithDefault_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, prepend",
         test_incrWithDefault_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delay, set",
         test_incrWithDefault_delay_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, add",
         test_incrWithDefault_delay_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, append",
         test_incrWithDefault_delay_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, decr",
         test_incrWithDefault_delay_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, decrWithDefault",
         test_incrWithDefault_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, delay",
         test_incrWithDefault_delay_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, delete",
         test_incrWithDefault_delay_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, flush",
         test_incrWithDefault_delay_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, incr",
         test_incrWithDefault_delay_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, incrWithDefault",
         test_incrWithDefault_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, prepend",
         test_incrWithDefault_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, delete, set",
         test_incrWithDefault_delay_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, add",
         test_incrWithDefault_delay_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, append",
         test_incrWithDefault_delay_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, decr",
         test_incrWithDefault_delay_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, decrWithDefault",
         test_incrWithDefault_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, delay",
         test_incrWithDefault_delay_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, delete",
         test_incrWithDefault_delay_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, flush",
         test_incrWithDefault_delay_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, incr",
         test_incrWithDefault_delay_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, incrWithDefault",
         test_incrWithDefault_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, prepend",
         test_incrWithDefault_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, flush, set",
         test_incrWithDefault_delay_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, add",
         test_incrWithDefault_delay_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, append",
         test_incrWithDefault_delay_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, decr",
         test_incrWithDefault_delay_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, decrWithDefault",
         test_incrWithDefault_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, delay",
         test_incrWithDefault_delay_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, delete",
         test_incrWithDefault_delay_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, flush",
         test_incrWithDefault_delay_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, incr",
         test_incrWithDefault_delay_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, incrWithDefault",
         test_incrWithDefault_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, prepend",
         test_incrWithDefault_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incr, set",
         test_incrWithDefault_delay_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, add",
         test_incrWithDefault_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, append",
         test_incrWithDefault_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, decr",
         test_incrWithDefault_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, decrWithDefault",
         test_incrWithDefault_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, delay",
         test_incrWithDefault_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, delete",
         test_incrWithDefault_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, flush",
         test_incrWithDefault_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, incr",
         test_incrWithDefault_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, incrWithDefault",
         test_incrWithDefault_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, prepend",
         test_incrWithDefault_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, incrWithDefault, set",
         test_incrWithDefault_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, add",
         test_incrWithDefault_delay_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, append",
         test_incrWithDefault_delay_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, decr",
         test_incrWithDefault_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, decrWithDefault",
         test_incrWithDefault_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, delay",
         test_incrWithDefault_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, delete",
         test_incrWithDefault_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, flush",
         test_incrWithDefault_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, incr",
         test_incrWithDefault_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, incrWithDefault",
         test_incrWithDefault_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, prepend",
         test_incrWithDefault_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, prepend, set",
         test_incrWithDefault_delay_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, add",
         test_incrWithDefault_delay_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, append",
         test_incrWithDefault_delay_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, decr",
         test_incrWithDefault_delay_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, decrWithDefault",
         test_incrWithDefault_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, delay",
         test_incrWithDefault_delay_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, delete",
         test_incrWithDefault_delay_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, flush",
         test_incrWithDefault_delay_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, incr",
         test_incrWithDefault_delay_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, incrWithDefault",
         test_incrWithDefault_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, prepend",
         test_incrWithDefault_delay_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delay, set, set",
         test_incrWithDefault_delay_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, add",
         test_incrWithDefault_delete_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, append",
         test_incrWithDefault_delete_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, decr",
         test_incrWithDefault_delete_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, decrWithDefault",
         test_incrWithDefault_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, delay",
         test_incrWithDefault_delete_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, delete",
         test_incrWithDefault_delete_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, flush",
         test_incrWithDefault_delete_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, incr",
         test_incrWithDefault_delete_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, incrWithDefault",
         test_incrWithDefault_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, prepend",
         test_incrWithDefault_delete_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, add, set",
         test_incrWithDefault_delete_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, add",
         test_incrWithDefault_delete_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, append",
         test_incrWithDefault_delete_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, decr",
         test_incrWithDefault_delete_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, decrWithDefault",
         test_incrWithDefault_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, delay",
         test_incrWithDefault_delete_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, delete",
         test_incrWithDefault_delete_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, flush",
         test_incrWithDefault_delete_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, incr",
         test_incrWithDefault_delete_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, incrWithDefault",
         test_incrWithDefault_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, prepend",
         test_incrWithDefault_delete_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, append, set",
         test_incrWithDefault_delete_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, add",
         test_incrWithDefault_delete_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, append",
         test_incrWithDefault_delete_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, decr",
         test_incrWithDefault_delete_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, decrWithDefault",
         test_incrWithDefault_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, delay",
         test_incrWithDefault_delete_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, delete",
         test_incrWithDefault_delete_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, flush",
         test_incrWithDefault_delete_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, incr",
         test_incrWithDefault_delete_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, incrWithDefault",
         test_incrWithDefault_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, prepend",
         test_incrWithDefault_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decr, set",
         test_incrWithDefault_delete_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, add",
         test_incrWithDefault_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, append",
         test_incrWithDefault_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, decr",
         test_incrWithDefault_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, decrWithDefault",
         test_incrWithDefault_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, delay",
         test_incrWithDefault_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, delete",
         test_incrWithDefault_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, flush",
         test_incrWithDefault_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, incr",
         test_incrWithDefault_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, incrWithDefault",
         test_incrWithDefault_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, prepend",
         test_incrWithDefault_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, decrWithDefault, set",
         test_incrWithDefault_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, add",
         test_incrWithDefault_delete_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, append",
         test_incrWithDefault_delete_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, decr",
         test_incrWithDefault_delete_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, decrWithDefault",
         test_incrWithDefault_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, delay",
         test_incrWithDefault_delete_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, delete",
         test_incrWithDefault_delete_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, flush",
         test_incrWithDefault_delete_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, incr",
         test_incrWithDefault_delete_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, incrWithDefault",
         test_incrWithDefault_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, prepend",
         test_incrWithDefault_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delay, set",
         test_incrWithDefault_delete_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, add",
         test_incrWithDefault_delete_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, append",
         test_incrWithDefault_delete_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, decr",
         test_incrWithDefault_delete_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, decrWithDefault",
         test_incrWithDefault_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, delay",
         test_incrWithDefault_delete_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, delete",
         test_incrWithDefault_delete_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, flush",
         test_incrWithDefault_delete_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, incr",
         test_incrWithDefault_delete_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, incrWithDefault",
         test_incrWithDefault_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, prepend",
         test_incrWithDefault_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, delete, set",
         test_incrWithDefault_delete_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, add",
         test_incrWithDefault_delete_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, append",
         test_incrWithDefault_delete_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, decr",
         test_incrWithDefault_delete_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, decrWithDefault",
         test_incrWithDefault_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, delay",
         test_incrWithDefault_delete_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, delete",
         test_incrWithDefault_delete_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, flush",
         test_incrWithDefault_delete_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, incr",
         test_incrWithDefault_delete_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, incrWithDefault",
         test_incrWithDefault_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, prepend",
         test_incrWithDefault_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, flush, set",
         test_incrWithDefault_delete_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, add",
         test_incrWithDefault_delete_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, append",
         test_incrWithDefault_delete_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, decr",
         test_incrWithDefault_delete_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, decrWithDefault",
         test_incrWithDefault_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, delay",
         test_incrWithDefault_delete_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, delete",
         test_incrWithDefault_delete_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, flush",
         test_incrWithDefault_delete_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, incr",
         test_incrWithDefault_delete_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, incrWithDefault",
         test_incrWithDefault_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, prepend",
         test_incrWithDefault_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incr, set",
         test_incrWithDefault_delete_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, add",
         test_incrWithDefault_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, append",
         test_incrWithDefault_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, decr",
         test_incrWithDefault_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, decrWithDefault",
         test_incrWithDefault_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, delay",
         test_incrWithDefault_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, delete",
         test_incrWithDefault_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, flush",
         test_incrWithDefault_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, incr",
         test_incrWithDefault_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, incrWithDefault",
         test_incrWithDefault_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, prepend",
         test_incrWithDefault_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, incrWithDefault, set",
         test_incrWithDefault_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, add",
         test_incrWithDefault_delete_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, append",
         test_incrWithDefault_delete_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, decr",
         test_incrWithDefault_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, decrWithDefault",
         test_incrWithDefault_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, delay",
         test_incrWithDefault_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, delete",
         test_incrWithDefault_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, flush",
         test_incrWithDefault_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, incr",
         test_incrWithDefault_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, incrWithDefault",
         test_incrWithDefault_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, prepend",
         test_incrWithDefault_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, prepend, set",
         test_incrWithDefault_delete_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, add",
         test_incrWithDefault_delete_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, append",
         test_incrWithDefault_delete_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, decr",
         test_incrWithDefault_delete_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, decrWithDefault",
         test_incrWithDefault_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, delay",
         test_incrWithDefault_delete_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, delete",
         test_incrWithDefault_delete_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, flush",
         test_incrWithDefault_delete_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, incr",
         test_incrWithDefault_delete_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, incrWithDefault",
         test_incrWithDefault_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, prepend",
         test_incrWithDefault_delete_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, delete, set, set",
         test_incrWithDefault_delete_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, add",
         test_incrWithDefault_flush_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, append",
         test_incrWithDefault_flush_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, decr",
         test_incrWithDefault_flush_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, decrWithDefault",
         test_incrWithDefault_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, delay",
         test_incrWithDefault_flush_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, delete",
         test_incrWithDefault_flush_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, flush",
         test_incrWithDefault_flush_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, incr",
         test_incrWithDefault_flush_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, incrWithDefault",
         test_incrWithDefault_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, prepend",
         test_incrWithDefault_flush_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, add, set",
         test_incrWithDefault_flush_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, add",
         test_incrWithDefault_flush_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, append",
         test_incrWithDefault_flush_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, decr",
         test_incrWithDefault_flush_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, decrWithDefault",
         test_incrWithDefault_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, delay",
         test_incrWithDefault_flush_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, delete",
         test_incrWithDefault_flush_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, flush",
         test_incrWithDefault_flush_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, incr",
         test_incrWithDefault_flush_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, incrWithDefault",
         test_incrWithDefault_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, prepend",
         test_incrWithDefault_flush_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, append, set",
         test_incrWithDefault_flush_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, add",
         test_incrWithDefault_flush_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, append",
         test_incrWithDefault_flush_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, decr",
         test_incrWithDefault_flush_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, decrWithDefault",
         test_incrWithDefault_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, delay",
         test_incrWithDefault_flush_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, delete",
         test_incrWithDefault_flush_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, flush",
         test_incrWithDefault_flush_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, incr",
         test_incrWithDefault_flush_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, incrWithDefault",
         test_incrWithDefault_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, prepend",
         test_incrWithDefault_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decr, set",
         test_incrWithDefault_flush_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, add",
         test_incrWithDefault_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, append",
         test_incrWithDefault_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, decr",
         test_incrWithDefault_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, decrWithDefault",
         test_incrWithDefault_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, delay",
         test_incrWithDefault_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, delete",
         test_incrWithDefault_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, flush",
         test_incrWithDefault_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, incr",
         test_incrWithDefault_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, incrWithDefault",
         test_incrWithDefault_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, prepend",
         test_incrWithDefault_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, decrWithDefault, set",
         test_incrWithDefault_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, add",
         test_incrWithDefault_flush_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, append",
         test_incrWithDefault_flush_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, decr",
         test_incrWithDefault_flush_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, decrWithDefault",
         test_incrWithDefault_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, delay",
         test_incrWithDefault_flush_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, delete",
         test_incrWithDefault_flush_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, flush",
         test_incrWithDefault_flush_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, incr",
         test_incrWithDefault_flush_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, incrWithDefault",
         test_incrWithDefault_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, prepend",
         test_incrWithDefault_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delay, set",
         test_incrWithDefault_flush_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, add",
         test_incrWithDefault_flush_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, append",
         test_incrWithDefault_flush_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, decr",
         test_incrWithDefault_flush_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, decrWithDefault",
         test_incrWithDefault_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, delay",
         test_incrWithDefault_flush_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, delete",
         test_incrWithDefault_flush_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, flush",
         test_incrWithDefault_flush_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, incr",
         test_incrWithDefault_flush_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, incrWithDefault",
         test_incrWithDefault_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, prepend",
         test_incrWithDefault_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, delete, set",
         test_incrWithDefault_flush_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, add",
         test_incrWithDefault_flush_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, append",
         test_incrWithDefault_flush_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, decr",
         test_incrWithDefault_flush_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, decrWithDefault",
         test_incrWithDefault_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, delay",
         test_incrWithDefault_flush_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, delete",
         test_incrWithDefault_flush_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, flush",
         test_incrWithDefault_flush_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, incr",
         test_incrWithDefault_flush_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, incrWithDefault",
         test_incrWithDefault_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, prepend",
         test_incrWithDefault_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, flush, set",
         test_incrWithDefault_flush_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, add",
         test_incrWithDefault_flush_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, append",
         test_incrWithDefault_flush_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, decr",
         test_incrWithDefault_flush_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, decrWithDefault",
         test_incrWithDefault_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, delay",
         test_incrWithDefault_flush_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, delete",
         test_incrWithDefault_flush_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, flush",
         test_incrWithDefault_flush_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, incr",
         test_incrWithDefault_flush_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, incrWithDefault",
         test_incrWithDefault_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, prepend",
         test_incrWithDefault_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incr, set",
         test_incrWithDefault_flush_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, add",
         test_incrWithDefault_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, append",
         test_incrWithDefault_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, decr",
         test_incrWithDefault_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, decrWithDefault",
         test_incrWithDefault_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, delay",
         test_incrWithDefault_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, delete",
         test_incrWithDefault_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, flush",
         test_incrWithDefault_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, incr",
         test_incrWithDefault_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, incrWithDefault",
         test_incrWithDefault_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, prepend",
         test_incrWithDefault_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, incrWithDefault, set",
         test_incrWithDefault_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, add",
         test_incrWithDefault_flush_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, append",
         test_incrWithDefault_flush_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, decr",
         test_incrWithDefault_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, decrWithDefault",
         test_incrWithDefault_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, delay",
         test_incrWithDefault_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, delete",
         test_incrWithDefault_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, flush",
         test_incrWithDefault_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, incr",
         test_incrWithDefault_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, incrWithDefault",
         test_incrWithDefault_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, prepend",
         test_incrWithDefault_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, prepend, set",
         test_incrWithDefault_flush_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, add",
         test_incrWithDefault_flush_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, append",
         test_incrWithDefault_flush_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, decr",
         test_incrWithDefault_flush_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, decrWithDefault",
         test_incrWithDefault_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, delay",
         test_incrWithDefault_flush_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, delete",
         test_incrWithDefault_flush_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, flush",
         test_incrWithDefault_flush_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, incr",
         test_incrWithDefault_flush_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, incrWithDefault",
         test_incrWithDefault_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, prepend",
         test_incrWithDefault_flush_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, flush, set, set",
         test_incrWithDefault_flush_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, add",
         test_incrWithDefault_incr_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, append",
         test_incrWithDefault_incr_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, decr",
         test_incrWithDefault_incr_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, decrWithDefault",
         test_incrWithDefault_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, delay",
         test_incrWithDefault_incr_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, delete",
         test_incrWithDefault_incr_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, flush",
         test_incrWithDefault_incr_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, incr",
         test_incrWithDefault_incr_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, incrWithDefault",
         test_incrWithDefault_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, prepend",
         test_incrWithDefault_incr_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, add, set",
         test_incrWithDefault_incr_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, add",
         test_incrWithDefault_incr_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, append",
         test_incrWithDefault_incr_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, decr",
         test_incrWithDefault_incr_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, decrWithDefault",
         test_incrWithDefault_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, delay",
         test_incrWithDefault_incr_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, delete",
         test_incrWithDefault_incr_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, flush",
         test_incrWithDefault_incr_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, incr",
         test_incrWithDefault_incr_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, incrWithDefault",
         test_incrWithDefault_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, prepend",
         test_incrWithDefault_incr_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, append, set",
         test_incrWithDefault_incr_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, add",
         test_incrWithDefault_incr_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, append",
         test_incrWithDefault_incr_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, decr",
         test_incrWithDefault_incr_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, decrWithDefault",
         test_incrWithDefault_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, delay",
         test_incrWithDefault_incr_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, delete",
         test_incrWithDefault_incr_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, flush",
         test_incrWithDefault_incr_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, incr",
         test_incrWithDefault_incr_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, incrWithDefault",
         test_incrWithDefault_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, prepend",
         test_incrWithDefault_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decr, set",
         test_incrWithDefault_incr_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, add",
         test_incrWithDefault_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, append",
         test_incrWithDefault_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, decr",
         test_incrWithDefault_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, decrWithDefault",
         test_incrWithDefault_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, delay",
         test_incrWithDefault_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, delete",
         test_incrWithDefault_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, flush",
         test_incrWithDefault_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, incr",
         test_incrWithDefault_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, incrWithDefault",
         test_incrWithDefault_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, prepend",
         test_incrWithDefault_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, decrWithDefault, set",
         test_incrWithDefault_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, add",
         test_incrWithDefault_incr_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, append",
         test_incrWithDefault_incr_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, decr",
         test_incrWithDefault_incr_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, decrWithDefault",
         test_incrWithDefault_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, delay",
         test_incrWithDefault_incr_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, delete",
         test_incrWithDefault_incr_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, flush",
         test_incrWithDefault_incr_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, incr",
         test_incrWithDefault_incr_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, incrWithDefault",
         test_incrWithDefault_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, prepend",
         test_incrWithDefault_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delay, set",
         test_incrWithDefault_incr_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, add",
         test_incrWithDefault_incr_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, append",
         test_incrWithDefault_incr_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, decr",
         test_incrWithDefault_incr_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, decrWithDefault",
         test_incrWithDefault_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, delay",
         test_incrWithDefault_incr_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, delete",
         test_incrWithDefault_incr_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, flush",
         test_incrWithDefault_incr_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, incr",
         test_incrWithDefault_incr_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, incrWithDefault",
         test_incrWithDefault_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, prepend",
         test_incrWithDefault_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, delete, set",
         test_incrWithDefault_incr_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, add",
         test_incrWithDefault_incr_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, append",
         test_incrWithDefault_incr_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, decr",
         test_incrWithDefault_incr_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, decrWithDefault",
         test_incrWithDefault_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, delay",
         test_incrWithDefault_incr_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, delete",
         test_incrWithDefault_incr_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, flush",
         test_incrWithDefault_incr_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, incr",
         test_incrWithDefault_incr_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, incrWithDefault",
         test_incrWithDefault_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, prepend",
         test_incrWithDefault_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, flush, set",
         test_incrWithDefault_incr_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, add",
         test_incrWithDefault_incr_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, append",
         test_incrWithDefault_incr_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, decr",
         test_incrWithDefault_incr_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, decrWithDefault",
         test_incrWithDefault_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, delay",
         test_incrWithDefault_incr_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, delete",
         test_incrWithDefault_incr_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, flush",
         test_incrWithDefault_incr_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, incr",
         test_incrWithDefault_incr_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, incrWithDefault",
         test_incrWithDefault_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, prepend",
         test_incrWithDefault_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incr, set",
         test_incrWithDefault_incr_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, add",
         test_incrWithDefault_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, append",
         test_incrWithDefault_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, decr",
         test_incrWithDefault_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, decrWithDefault",
         test_incrWithDefault_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, delay",
         test_incrWithDefault_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, delete",
         test_incrWithDefault_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, flush",
         test_incrWithDefault_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, incr",
         test_incrWithDefault_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, incrWithDefault",
         test_incrWithDefault_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, prepend",
         test_incrWithDefault_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, incrWithDefault, set",
         test_incrWithDefault_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, add",
         test_incrWithDefault_incr_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, append",
         test_incrWithDefault_incr_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, decr",
         test_incrWithDefault_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, decrWithDefault",
         test_incrWithDefault_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, delay",
         test_incrWithDefault_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, delete",
         test_incrWithDefault_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, flush",
         test_incrWithDefault_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, incr",
         test_incrWithDefault_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, incrWithDefault",
         test_incrWithDefault_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, prepend",
         test_incrWithDefault_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, prepend, set",
         test_incrWithDefault_incr_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, add",
         test_incrWithDefault_incr_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, append",
         test_incrWithDefault_incr_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, decr",
         test_incrWithDefault_incr_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, decrWithDefault",
         test_incrWithDefault_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, delay",
         test_incrWithDefault_incr_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, delete",
         test_incrWithDefault_incr_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, flush",
         test_incrWithDefault_incr_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, incr",
         test_incrWithDefault_incr_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, incrWithDefault",
         test_incrWithDefault_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, prepend",
         test_incrWithDefault_incr_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incr, set, set",
         test_incrWithDefault_incr_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, add",
         test_incrWithDefault_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, append",
         test_incrWithDefault_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, decr",
         test_incrWithDefault_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, decrWithDefault",
         test_incrWithDefault_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, delay",
         test_incrWithDefault_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, delete",
         test_incrWithDefault_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, flush",
         test_incrWithDefault_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, incr",
         test_incrWithDefault_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, incrWithDefault",
         test_incrWithDefault_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, prepend",
         test_incrWithDefault_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, add, set",
         test_incrWithDefault_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, add",
         test_incrWithDefault_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, append",
         test_incrWithDefault_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, decr",
         test_incrWithDefault_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, decrWithDefault",
         test_incrWithDefault_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, delay",
         test_incrWithDefault_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, delete",
         test_incrWithDefault_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, flush",
         test_incrWithDefault_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, incr",
         test_incrWithDefault_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, incrWithDefault",
         test_incrWithDefault_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, prepend",
         test_incrWithDefault_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, append, set",
         test_incrWithDefault_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, add",
         test_incrWithDefault_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, append",
         test_incrWithDefault_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, decr",
         test_incrWithDefault_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, decrWithDefault",
         test_incrWithDefault_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, delay",
         test_incrWithDefault_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, delete",
         test_incrWithDefault_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, flush",
         test_incrWithDefault_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, incr",
         test_incrWithDefault_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, incrWithDefault",
         test_incrWithDefault_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, prepend",
         test_incrWithDefault_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decr, set",
         test_incrWithDefault_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, add",
         test_incrWithDefault_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, append",
         test_incrWithDefault_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, decr",
         test_incrWithDefault_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, decrWithDefault",
         test_incrWithDefault_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, delay",
         test_incrWithDefault_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, delete",
         test_incrWithDefault_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, flush",
         test_incrWithDefault_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, incr",
         test_incrWithDefault_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, incrWithDefault",
         test_incrWithDefault_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, prepend",
         test_incrWithDefault_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, decrWithDefault, set",
         test_incrWithDefault_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, add",
         test_incrWithDefault_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, append",
         test_incrWithDefault_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, decr",
         test_incrWithDefault_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, decrWithDefault",
         test_incrWithDefault_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, delay",
         test_incrWithDefault_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, delete",
         test_incrWithDefault_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, flush",
         test_incrWithDefault_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, incr",
         test_incrWithDefault_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, incrWithDefault",
         test_incrWithDefault_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, prepend",
         test_incrWithDefault_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delay, set",
         test_incrWithDefault_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, add",
         test_incrWithDefault_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, append",
         test_incrWithDefault_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, decr",
         test_incrWithDefault_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, decrWithDefault",
         test_incrWithDefault_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, delay",
         test_incrWithDefault_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, delete",
         test_incrWithDefault_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, flush",
         test_incrWithDefault_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, incr",
         test_incrWithDefault_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, incrWithDefault",
         test_incrWithDefault_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, prepend",
         test_incrWithDefault_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, delete, set",
         test_incrWithDefault_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, add",
         test_incrWithDefault_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, append",
         test_incrWithDefault_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, decr",
         test_incrWithDefault_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, decrWithDefault",
         test_incrWithDefault_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, delay",
         test_incrWithDefault_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, delete",
         test_incrWithDefault_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, flush",
         test_incrWithDefault_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, incr",
         test_incrWithDefault_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, incrWithDefault",
         test_incrWithDefault_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, prepend",
         test_incrWithDefault_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, flush, set",
         test_incrWithDefault_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, add",
         test_incrWithDefault_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, append",
         test_incrWithDefault_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, decr",
         test_incrWithDefault_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, decrWithDefault",
         test_incrWithDefault_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, delay",
         test_incrWithDefault_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, delete",
         test_incrWithDefault_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, flush",
         test_incrWithDefault_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, incr",
         test_incrWithDefault_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, incrWithDefault",
         test_incrWithDefault_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, prepend",
         test_incrWithDefault_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incr, set",
         test_incrWithDefault_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, add",
         test_incrWithDefault_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, append",
         test_incrWithDefault_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, decr",
         test_incrWithDefault_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, decrWithDefault",
         test_incrWithDefault_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, delay",
         test_incrWithDefault_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, delete",
         test_incrWithDefault_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, flush",
         test_incrWithDefault_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, incr",
         test_incrWithDefault_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, prepend",
         test_incrWithDefault_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, incrWithDefault, set",
         test_incrWithDefault_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, add",
         test_incrWithDefault_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, append",
         test_incrWithDefault_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, decr",
         test_incrWithDefault_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, decrWithDefault",
         test_incrWithDefault_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, delay",
         test_incrWithDefault_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, delete",
         test_incrWithDefault_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, flush",
         test_incrWithDefault_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, incr",
         test_incrWithDefault_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, incrWithDefault",
         test_incrWithDefault_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, prepend",
         test_incrWithDefault_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, prepend, set",
         test_incrWithDefault_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, add",
         test_incrWithDefault_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, append",
         test_incrWithDefault_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, decr",
         test_incrWithDefault_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, decrWithDefault",
         test_incrWithDefault_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, delay",
         test_incrWithDefault_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, delete",
         test_incrWithDefault_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, flush",
         test_incrWithDefault_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, incr",
         test_incrWithDefault_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, incrWithDefault",
         test_incrWithDefault_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, prepend",
         test_incrWithDefault_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, incrWithDefault, set, set",
         test_incrWithDefault_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, add",
         test_incrWithDefault_prepend_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, append",
         test_incrWithDefault_prepend_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, decr",
         test_incrWithDefault_prepend_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, decrWithDefault",
         test_incrWithDefault_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, delay",
         test_incrWithDefault_prepend_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, delete",
         test_incrWithDefault_prepend_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, flush",
         test_incrWithDefault_prepend_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, incr",
         test_incrWithDefault_prepend_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, incrWithDefault",
         test_incrWithDefault_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, prepend",
         test_incrWithDefault_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, add, set",
         test_incrWithDefault_prepend_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, add",
         test_incrWithDefault_prepend_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, append",
         test_incrWithDefault_prepend_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, decr",
         test_incrWithDefault_prepend_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, decrWithDefault",
         test_incrWithDefault_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, delay",
         test_incrWithDefault_prepend_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, delete",
         test_incrWithDefault_prepend_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, flush",
         test_incrWithDefault_prepend_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, incr",
         test_incrWithDefault_prepend_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, incrWithDefault",
         test_incrWithDefault_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, prepend",
         test_incrWithDefault_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, append, set",
         test_incrWithDefault_prepend_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, add",
         test_incrWithDefault_prepend_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, append",
         test_incrWithDefault_prepend_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, decr",
         test_incrWithDefault_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, decrWithDefault",
         test_incrWithDefault_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, delay",
         test_incrWithDefault_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, delete",
         test_incrWithDefault_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, flush",
         test_incrWithDefault_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, incr",
         test_incrWithDefault_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, incrWithDefault",
         test_incrWithDefault_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, prepend",
         test_incrWithDefault_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decr, set",
         test_incrWithDefault_prepend_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, add",
         test_incrWithDefault_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, append",
         test_incrWithDefault_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, decr",
         test_incrWithDefault_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, decrWithDefault",
         test_incrWithDefault_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, delay",
         test_incrWithDefault_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, delete",
         test_incrWithDefault_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, flush",
         test_incrWithDefault_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, incr",
         test_incrWithDefault_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, incrWithDefault",
         test_incrWithDefault_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, prepend",
         test_incrWithDefault_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, decrWithDefault, set",
         test_incrWithDefault_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, add",
         test_incrWithDefault_prepend_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, append",
         test_incrWithDefault_prepend_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, decr",
         test_incrWithDefault_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, decrWithDefault",
         test_incrWithDefault_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, delay",
         test_incrWithDefault_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, delete",
         test_incrWithDefault_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, flush",
         test_incrWithDefault_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, incr",
         test_incrWithDefault_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, incrWithDefault",
         test_incrWithDefault_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, prepend",
         test_incrWithDefault_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delay, set",
         test_incrWithDefault_prepend_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, add",
         test_incrWithDefault_prepend_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, append",
         test_incrWithDefault_prepend_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, decr",
         test_incrWithDefault_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, decrWithDefault",
         test_incrWithDefault_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, delay",
         test_incrWithDefault_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, delete",
         test_incrWithDefault_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, flush",
         test_incrWithDefault_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, incr",
         test_incrWithDefault_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, incrWithDefault",
         test_incrWithDefault_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, prepend",
         test_incrWithDefault_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, delete, set",
         test_incrWithDefault_prepend_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, add",
         test_incrWithDefault_prepend_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, append",
         test_incrWithDefault_prepend_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, decr",
         test_incrWithDefault_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, decrWithDefault",
         test_incrWithDefault_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, delay",
         test_incrWithDefault_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, delete",
         test_incrWithDefault_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, flush",
         test_incrWithDefault_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, incr",
         test_incrWithDefault_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, incrWithDefault",
         test_incrWithDefault_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, prepend",
         test_incrWithDefault_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, flush, set",
         test_incrWithDefault_prepend_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, add",
         test_incrWithDefault_prepend_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, append",
         test_incrWithDefault_prepend_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, decr",
         test_incrWithDefault_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, decrWithDefault",
         test_incrWithDefault_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, delay",
         test_incrWithDefault_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, delete",
         test_incrWithDefault_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, flush",
         test_incrWithDefault_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, incr",
         test_incrWithDefault_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, incrWithDefault",
         test_incrWithDefault_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, prepend",
         test_incrWithDefault_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incr, set",
         test_incrWithDefault_prepend_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, add",
         test_incrWithDefault_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, append",
         test_incrWithDefault_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, decr",
         test_incrWithDefault_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, decrWithDefault",
         test_incrWithDefault_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, delay",
         test_incrWithDefault_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, delete",
         test_incrWithDefault_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, flush",
         test_incrWithDefault_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, incr",
         test_incrWithDefault_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, incrWithDefault",
         test_incrWithDefault_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, prepend",
         test_incrWithDefault_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, incrWithDefault, set",
         test_incrWithDefault_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, add",
         test_incrWithDefault_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, append",
         test_incrWithDefault_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, decr",
         test_incrWithDefault_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, decrWithDefault",
         test_incrWithDefault_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, delay",
         test_incrWithDefault_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, delete",
         test_incrWithDefault_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, flush",
         test_incrWithDefault_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, incr",
         test_incrWithDefault_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, incrWithDefault",
         test_incrWithDefault_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, prepend",
         test_incrWithDefault_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, prepend, set",
         test_incrWithDefault_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, add",
         test_incrWithDefault_prepend_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, append",
         test_incrWithDefault_prepend_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, decr",
         test_incrWithDefault_prepend_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, decrWithDefault",
         test_incrWithDefault_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, delay",
         test_incrWithDefault_prepend_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, delete",
         test_incrWithDefault_prepend_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, flush",
         test_incrWithDefault_prepend_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, incr",
         test_incrWithDefault_prepend_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, incrWithDefault",
         test_incrWithDefault_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, prepend",
         test_incrWithDefault_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, prepend, set, set",
         test_incrWithDefault_prepend_set_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, add",
         test_incrWithDefault_set_add_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, append",
         test_incrWithDefault_set_add_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, decr",
         test_incrWithDefault_set_add_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, decrWithDefault",
         test_incrWithDefault_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, delay",
         test_incrWithDefault_set_add_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, delete",
         test_incrWithDefault_set_add_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, flush",
         test_incrWithDefault_set_add_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, incr",
         test_incrWithDefault_set_add_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, incrWithDefault",
         test_incrWithDefault_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, prepend",
         test_incrWithDefault_set_add_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, add, set",
         test_incrWithDefault_set_add_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, add",
         test_incrWithDefault_set_append_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, append",
         test_incrWithDefault_set_append_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, decr",
         test_incrWithDefault_set_append_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, decrWithDefault",
         test_incrWithDefault_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, delay",
         test_incrWithDefault_set_append_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, delete",
         test_incrWithDefault_set_append_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, flush",
         test_incrWithDefault_set_append_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, incr",
         test_incrWithDefault_set_append_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, incrWithDefault",
         test_incrWithDefault_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, prepend",
         test_incrWithDefault_set_append_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, append, set",
         test_incrWithDefault_set_append_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, add",
         test_incrWithDefault_set_decr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, append",
         test_incrWithDefault_set_decr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, decr",
         test_incrWithDefault_set_decr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, decrWithDefault",
         test_incrWithDefault_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, delay",
         test_incrWithDefault_set_decr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, delete",
         test_incrWithDefault_set_decr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, flush",
         test_incrWithDefault_set_decr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, incr",
         test_incrWithDefault_set_decr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, incrWithDefault",
         test_incrWithDefault_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, prepend",
         test_incrWithDefault_set_decr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decr, set",
         test_incrWithDefault_set_decr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, add",
         test_incrWithDefault_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, append",
         test_incrWithDefault_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, decr",
         test_incrWithDefault_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, decrWithDefault",
         test_incrWithDefault_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, delay",
         test_incrWithDefault_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, delete",
         test_incrWithDefault_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, flush",
         test_incrWithDefault_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, incr",
         test_incrWithDefault_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, incrWithDefault",
         test_incrWithDefault_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, prepend",
         test_incrWithDefault_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, decrWithDefault, set",
         test_incrWithDefault_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, add",
         test_incrWithDefault_set_delay_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, append",
         test_incrWithDefault_set_delay_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, decr",
         test_incrWithDefault_set_delay_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, decrWithDefault",
         test_incrWithDefault_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, delay",
         test_incrWithDefault_set_delay_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, delete",
         test_incrWithDefault_set_delay_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, flush",
         test_incrWithDefault_set_delay_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, incr",
         test_incrWithDefault_set_delay_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, incrWithDefault",
         test_incrWithDefault_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, prepend",
         test_incrWithDefault_set_delay_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delay, set",
         test_incrWithDefault_set_delay_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, add",
         test_incrWithDefault_set_delete_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, append",
         test_incrWithDefault_set_delete_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, decr",
         test_incrWithDefault_set_delete_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, decrWithDefault",
         test_incrWithDefault_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, delay",
         test_incrWithDefault_set_delete_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, delete",
         test_incrWithDefault_set_delete_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, flush",
         test_incrWithDefault_set_delete_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, incr",
         test_incrWithDefault_set_delete_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, incrWithDefault",
         test_incrWithDefault_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, prepend",
         test_incrWithDefault_set_delete_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, delete, set",
         test_incrWithDefault_set_delete_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, add",
         test_incrWithDefault_set_flush_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, append",
         test_incrWithDefault_set_flush_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, decr",
         test_incrWithDefault_set_flush_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, decrWithDefault",
         test_incrWithDefault_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, delay",
         test_incrWithDefault_set_flush_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, delete",
         test_incrWithDefault_set_flush_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, flush",
         test_incrWithDefault_set_flush_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, incr",
         test_incrWithDefault_set_flush_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, incrWithDefault",
         test_incrWithDefault_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, prepend",
         test_incrWithDefault_set_flush_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, flush, set",
         test_incrWithDefault_set_flush_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, add",
         test_incrWithDefault_set_incr_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, append",
         test_incrWithDefault_set_incr_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, decr",
         test_incrWithDefault_set_incr_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, decrWithDefault",
         test_incrWithDefault_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, delay",
         test_incrWithDefault_set_incr_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, delete",
         test_incrWithDefault_set_incr_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, flush",
         test_incrWithDefault_set_incr_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, incr",
         test_incrWithDefault_set_incr_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, incrWithDefault",
         test_incrWithDefault_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, prepend",
         test_incrWithDefault_set_incr_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incr, set",
         test_incrWithDefault_set_incr_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, add",
         test_incrWithDefault_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, append",
         test_incrWithDefault_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, decr",
         test_incrWithDefault_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, decrWithDefault",
         test_incrWithDefault_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, delay",
         test_incrWithDefault_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, delete",
         test_incrWithDefault_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, flush",
         test_incrWithDefault_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, incr",
         test_incrWithDefault_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, incrWithDefault",
         test_incrWithDefault_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, prepend",
         test_incrWithDefault_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, incrWithDefault, set",
         test_incrWithDefault_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, add",
         test_incrWithDefault_set_prepend_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, append",
         test_incrWithDefault_set_prepend_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, decr",
         test_incrWithDefault_set_prepend_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, decrWithDefault",
         test_incrWithDefault_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, delay",
         test_incrWithDefault_set_prepend_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, delete",
         test_incrWithDefault_set_prepend_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, flush",
         test_incrWithDefault_set_prepend_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, incr",
         test_incrWithDefault_set_prepend_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, incrWithDefault",
         test_incrWithDefault_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, prepend",
         test_incrWithDefault_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, prepend, set",
         test_incrWithDefault_set_prepend_set,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, add",
         test_incrWithDefault_set_set_add,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, append",
         test_incrWithDefault_set_set_append,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, decr",
         test_incrWithDefault_set_set_decr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, decrWithDefault",
         test_incrWithDefault_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, delay",
         test_incrWithDefault_set_set_delay,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, delete",
         test_incrWithDefault_set_set_delete,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, flush",
         test_incrWithDefault_set_set_flush,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, incr",
         test_incrWithDefault_set_set_incr,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, incrWithDefault",
         test_incrWithDefault_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, prepend",
         test_incrWithDefault_set_set_prepend,
         test_setup, teardown, NULL},
        {"incrWithDefault, set, set, set",
         test_incrWithDefault_set_set_set,
         test_setup, teardown, NULL},
        {"prepend, add, add, add",
         test_prepend_add_add_add,
         test_setup, teardown, NULL},
        {"prepend, add, add, append",
         test_prepend_add_add_append,
         test_setup, teardown, NULL},
        {"prepend, add, add, decr",
         test_prepend_add_add_decr,
         test_setup, teardown, NULL},
        {"prepend, add, add, decrWithDefault",
         test_prepend_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, add, delay",
         test_prepend_add_add_delay,
         test_setup, teardown, NULL},
        {"prepend, add, add, delete",
         test_prepend_add_add_delete,
         test_setup, teardown, NULL},
        {"prepend, add, add, flush",
         test_prepend_add_add_flush,
         test_setup, teardown, NULL},
        {"prepend, add, add, incr",
         test_prepend_add_add_incr,
         test_setup, teardown, NULL},
        {"prepend, add, add, incrWithDefault",
         test_prepend_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, add, prepend",
         test_prepend_add_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, add, set",
         test_prepend_add_add_set,
         test_setup, teardown, NULL},
        {"prepend, add, append, add",
         test_prepend_add_append_add,
         test_setup, teardown, NULL},
        {"prepend, add, append, append",
         test_prepend_add_append_append,
         test_setup, teardown, NULL},
        {"prepend, add, append, decr",
         test_prepend_add_append_decr,
         test_setup, teardown, NULL},
        {"prepend, add, append, decrWithDefault",
         test_prepend_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, append, delay",
         test_prepend_add_append_delay,
         test_setup, teardown, NULL},
        {"prepend, add, append, delete",
         test_prepend_add_append_delete,
         test_setup, teardown, NULL},
        {"prepend, add, append, flush",
         test_prepend_add_append_flush,
         test_setup, teardown, NULL},
        {"prepend, add, append, incr",
         test_prepend_add_append_incr,
         test_setup, teardown, NULL},
        {"prepend, add, append, incrWithDefault",
         test_prepend_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, append, prepend",
         test_prepend_add_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, append, set",
         test_prepend_add_append_set,
         test_setup, teardown, NULL},
        {"prepend, add, decr, add",
         test_prepend_add_decr_add,
         test_setup, teardown, NULL},
        {"prepend, add, decr, append",
         test_prepend_add_decr_append,
         test_setup, teardown, NULL},
        {"prepend, add, decr, decr",
         test_prepend_add_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, add, decr, decrWithDefault",
         test_prepend_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, decr, delay",
         test_prepend_add_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, add, decr, delete",
         test_prepend_add_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, add, decr, flush",
         test_prepend_add_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, add, decr, incr",
         test_prepend_add_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, add, decr, incrWithDefault",
         test_prepend_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, decr, prepend",
         test_prepend_add_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, decr, set",
         test_prepend_add_decr_set,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, add",
         test_prepend_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, append",
         test_prepend_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, decr",
         test_prepend_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, decrWithDefault",
         test_prepend_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, delay",
         test_prepend_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, delete",
         test_prepend_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, flush",
         test_prepend_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, incr",
         test_prepend_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, incrWithDefault",
         test_prepend_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, prepend",
         test_prepend_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, decrWithDefault, set",
         test_prepend_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, add, delay, add",
         test_prepend_add_delay_add,
         test_setup, teardown, NULL},
        {"prepend, add, delay, append",
         test_prepend_add_delay_append,
         test_setup, teardown, NULL},
        {"prepend, add, delay, decr",
         test_prepend_add_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, add, delay, decrWithDefault",
         test_prepend_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, delay, delay",
         test_prepend_add_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, add, delay, delete",
         test_prepend_add_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, add, delay, flush",
         test_prepend_add_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, add, delay, incr",
         test_prepend_add_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, add, delay, incrWithDefault",
         test_prepend_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, delay, prepend",
         test_prepend_add_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, delay, set",
         test_prepend_add_delay_set,
         test_setup, teardown, NULL},
        {"prepend, add, delete, add",
         test_prepend_add_delete_add,
         test_setup, teardown, NULL},
        {"prepend, add, delete, append",
         test_prepend_add_delete_append,
         test_setup, teardown, NULL},
        {"prepend, add, delete, decr",
         test_prepend_add_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, add, delete, decrWithDefault",
         test_prepend_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, delete, delay",
         test_prepend_add_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, add, delete, delete",
         test_prepend_add_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, add, delete, flush",
         test_prepend_add_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, add, delete, incr",
         test_prepend_add_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, add, delete, incrWithDefault",
         test_prepend_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, delete, prepend",
         test_prepend_add_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, delete, set",
         test_prepend_add_delete_set,
         test_setup, teardown, NULL},
        {"prepend, add, flush, add",
         test_prepend_add_flush_add,
         test_setup, teardown, NULL},
        {"prepend, add, flush, append",
         test_prepend_add_flush_append,
         test_setup, teardown, NULL},
        {"prepend, add, flush, decr",
         test_prepend_add_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, add, flush, decrWithDefault",
         test_prepend_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, flush, delay",
         test_prepend_add_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, add, flush, delete",
         test_prepend_add_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, add, flush, flush",
         test_prepend_add_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, add, flush, incr",
         test_prepend_add_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, add, flush, incrWithDefault",
         test_prepend_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, flush, prepend",
         test_prepend_add_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, flush, set",
         test_prepend_add_flush_set,
         test_setup, teardown, NULL},
        {"prepend, add, incr, add",
         test_prepend_add_incr_add,
         test_setup, teardown, NULL},
        {"prepend, add, incr, append",
         test_prepend_add_incr_append,
         test_setup, teardown, NULL},
        {"prepend, add, incr, decr",
         test_prepend_add_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, add, incr, decrWithDefault",
         test_prepend_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, incr, delay",
         test_prepend_add_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, add, incr, delete",
         test_prepend_add_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, add, incr, flush",
         test_prepend_add_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, add, incr, incr",
         test_prepend_add_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, add, incr, incrWithDefault",
         test_prepend_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, incr, prepend",
         test_prepend_add_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, incr, set",
         test_prepend_add_incr_set,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, add",
         test_prepend_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, append",
         test_prepend_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, decr",
         test_prepend_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, decrWithDefault",
         test_prepend_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, delay",
         test_prepend_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, delete",
         test_prepend_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, flush",
         test_prepend_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, incr",
         test_prepend_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, incrWithDefault",
         test_prepend_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, prepend",
         test_prepend_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, incrWithDefault, set",
         test_prepend_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, add",
         test_prepend_add_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, append",
         test_prepend_add_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, decr",
         test_prepend_add_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, decrWithDefault",
         test_prepend_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, delay",
         test_prepend_add_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, delete",
         test_prepend_add_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, flush",
         test_prepend_add_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, incr",
         test_prepend_add_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, incrWithDefault",
         test_prepend_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, prepend",
         test_prepend_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, prepend, set",
         test_prepend_add_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, add, set, add",
         test_prepend_add_set_add,
         test_setup, teardown, NULL},
        {"prepend, add, set, append",
         test_prepend_add_set_append,
         test_setup, teardown, NULL},
        {"prepend, add, set, decr",
         test_prepend_add_set_decr,
         test_setup, teardown, NULL},
        {"prepend, add, set, decrWithDefault",
         test_prepend_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, set, delay",
         test_prepend_add_set_delay,
         test_setup, teardown, NULL},
        {"prepend, add, set, delete",
         test_prepend_add_set_delete,
         test_setup, teardown, NULL},
        {"prepend, add, set, flush",
         test_prepend_add_set_flush,
         test_setup, teardown, NULL},
        {"prepend, add, set, incr",
         test_prepend_add_set_incr,
         test_setup, teardown, NULL},
        {"prepend, add, set, incrWithDefault",
         test_prepend_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, add, set, prepend",
         test_prepend_add_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, add, set, set",
         test_prepend_add_set_set,
         test_setup, teardown, NULL},
        {"prepend, append, add, add",
         test_prepend_append_add_add,
         test_setup, teardown, NULL},
        {"prepend, append, add, append",
         test_prepend_append_add_append,
         test_setup, teardown, NULL},
        {"prepend, append, add, decr",
         test_prepend_append_add_decr,
         test_setup, teardown, NULL},
        {"prepend, append, add, decrWithDefault",
         test_prepend_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, add, delay",
         test_prepend_append_add_delay,
         test_setup, teardown, NULL},
        {"prepend, append, add, delete",
         test_prepend_append_add_delete,
         test_setup, teardown, NULL},
        {"prepend, append, add, flush",
         test_prepend_append_add_flush,
         test_setup, teardown, NULL},
        {"prepend, append, add, incr",
         test_prepend_append_add_incr,
         test_setup, teardown, NULL},
        {"prepend, append, add, incrWithDefault",
         test_prepend_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, add, prepend",
         test_prepend_append_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, add, set",
         test_prepend_append_add_set,
         test_setup, teardown, NULL},
        {"prepend, append, append, add",
         test_prepend_append_append_add,
         test_setup, teardown, NULL},
        {"prepend, append, append, append",
         test_prepend_append_append_append,
         test_setup, teardown, NULL},
        {"prepend, append, append, decr",
         test_prepend_append_append_decr,
         test_setup, teardown, NULL},
        {"prepend, append, append, decrWithDefault",
         test_prepend_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, append, delay",
         test_prepend_append_append_delay,
         test_setup, teardown, NULL},
        {"prepend, append, append, delete",
         test_prepend_append_append_delete,
         test_setup, teardown, NULL},
        {"prepend, append, append, flush",
         test_prepend_append_append_flush,
         test_setup, teardown, NULL},
        {"prepend, append, append, incr",
         test_prepend_append_append_incr,
         test_setup, teardown, NULL},
        {"prepend, append, append, incrWithDefault",
         test_prepend_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, append, prepend",
         test_prepend_append_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, append, set",
         test_prepend_append_append_set,
         test_setup, teardown, NULL},
        {"prepend, append, decr, add",
         test_prepend_append_decr_add,
         test_setup, teardown, NULL},
        {"prepend, append, decr, append",
         test_prepend_append_decr_append,
         test_setup, teardown, NULL},
        {"prepend, append, decr, decr",
         test_prepend_append_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, append, decr, decrWithDefault",
         test_prepend_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, decr, delay",
         test_prepend_append_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, append, decr, delete",
         test_prepend_append_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, append, decr, flush",
         test_prepend_append_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, append, decr, incr",
         test_prepend_append_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, append, decr, incrWithDefault",
         test_prepend_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, decr, prepend",
         test_prepend_append_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, decr, set",
         test_prepend_append_decr_set,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, add",
         test_prepend_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, append",
         test_prepend_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, decr",
         test_prepend_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, decrWithDefault",
         test_prepend_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, delay",
         test_prepend_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, delete",
         test_prepend_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, flush",
         test_prepend_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, incr",
         test_prepend_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, incrWithDefault",
         test_prepend_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, prepend",
         test_prepend_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, decrWithDefault, set",
         test_prepend_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, append, delay, add",
         test_prepend_append_delay_add,
         test_setup, teardown, NULL},
        {"prepend, append, delay, append",
         test_prepend_append_delay_append,
         test_setup, teardown, NULL},
        {"prepend, append, delay, decr",
         test_prepend_append_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, append, delay, decrWithDefault",
         test_prepend_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, delay, delay",
         test_prepend_append_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, append, delay, delete",
         test_prepend_append_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, append, delay, flush",
         test_prepend_append_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, append, delay, incr",
         test_prepend_append_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, append, delay, incrWithDefault",
         test_prepend_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, delay, prepend",
         test_prepend_append_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, delay, set",
         test_prepend_append_delay_set,
         test_setup, teardown, NULL},
        {"prepend, append, delete, add",
         test_prepend_append_delete_add,
         test_setup, teardown, NULL},
        {"prepend, append, delete, append",
         test_prepend_append_delete_append,
         test_setup, teardown, NULL},
        {"prepend, append, delete, decr",
         test_prepend_append_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, append, delete, decrWithDefault",
         test_prepend_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, delete, delay",
         test_prepend_append_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, append, delete, delete",
         test_prepend_append_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, append, delete, flush",
         test_prepend_append_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, append, delete, incr",
         test_prepend_append_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, append, delete, incrWithDefault",
         test_prepend_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, delete, prepend",
         test_prepend_append_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, delete, set",
         test_prepend_append_delete_set,
         test_setup, teardown, NULL},
        {"prepend, append, flush, add",
         test_prepend_append_flush_add,
         test_setup, teardown, NULL},
        {"prepend, append, flush, append",
         test_prepend_append_flush_append,
         test_setup, teardown, NULL},
        {"prepend, append, flush, decr",
         test_prepend_append_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, append, flush, decrWithDefault",
         test_prepend_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, flush, delay",
         test_prepend_append_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, append, flush, delete",
         test_prepend_append_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, append, flush, flush",
         test_prepend_append_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, append, flush, incr",
         test_prepend_append_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, append, flush, incrWithDefault",
         test_prepend_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, flush, prepend",
         test_prepend_append_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, flush, set",
         test_prepend_append_flush_set,
         test_setup, teardown, NULL},
        {"prepend, append, incr, add",
         test_prepend_append_incr_add,
         test_setup, teardown, NULL},
        {"prepend, append, incr, append",
         test_prepend_append_incr_append,
         test_setup, teardown, NULL},
        {"prepend, append, incr, decr",
         test_prepend_append_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, append, incr, decrWithDefault",
         test_prepend_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, incr, delay",
         test_prepend_append_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, append, incr, delete",
         test_prepend_append_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, append, incr, flush",
         test_prepend_append_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, append, incr, incr",
         test_prepend_append_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, append, incr, incrWithDefault",
         test_prepend_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, incr, prepend",
         test_prepend_append_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, incr, set",
         test_prepend_append_incr_set,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, add",
         test_prepend_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, append",
         test_prepend_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, decr",
         test_prepend_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, decrWithDefault",
         test_prepend_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, delay",
         test_prepend_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, delete",
         test_prepend_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, flush",
         test_prepend_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, incr",
         test_prepend_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, incrWithDefault",
         test_prepend_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, prepend",
         test_prepend_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, incrWithDefault, set",
         test_prepend_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, add",
         test_prepend_append_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, append",
         test_prepend_append_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, decr",
         test_prepend_append_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, decrWithDefault",
         test_prepend_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, delay",
         test_prepend_append_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, delete",
         test_prepend_append_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, flush",
         test_prepend_append_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, incr",
         test_prepend_append_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, incrWithDefault",
         test_prepend_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, prepend",
         test_prepend_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, prepend, set",
         test_prepend_append_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, append, set, add",
         test_prepend_append_set_add,
         test_setup, teardown, NULL},
        {"prepend, append, set, append",
         test_prepend_append_set_append,
         test_setup, teardown, NULL},
        {"prepend, append, set, decr",
         test_prepend_append_set_decr,
         test_setup, teardown, NULL},
        {"prepend, append, set, decrWithDefault",
         test_prepend_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, set, delay",
         test_prepend_append_set_delay,
         test_setup, teardown, NULL},
        {"prepend, append, set, delete",
         test_prepend_append_set_delete,
         test_setup, teardown, NULL},
        {"prepend, append, set, flush",
         test_prepend_append_set_flush,
         test_setup, teardown, NULL},
        {"prepend, append, set, incr",
         test_prepend_append_set_incr,
         test_setup, teardown, NULL},
        {"prepend, append, set, incrWithDefault",
         test_prepend_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, append, set, prepend",
         test_prepend_append_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, append, set, set",
         test_prepend_append_set_set,
         test_setup, teardown, NULL},
        {"prepend, decr, add, add",
         test_prepend_decr_add_add,
         test_setup, teardown, NULL},
        {"prepend, decr, add, append",
         test_prepend_decr_add_append,
         test_setup, teardown, NULL},
        {"prepend, decr, add, decr",
         test_prepend_decr_add_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, add, decrWithDefault",
         test_prepend_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, add, delay",
         test_prepend_decr_add_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, add, delete",
         test_prepend_decr_add_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, add, flush",
         test_prepend_decr_add_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, add, incr",
         test_prepend_decr_add_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, add, incrWithDefault",
         test_prepend_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, add, prepend",
         test_prepend_decr_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, add, set",
         test_prepend_decr_add_set,
         test_setup, teardown, NULL},
        {"prepend, decr, append, add",
         test_prepend_decr_append_add,
         test_setup, teardown, NULL},
        {"prepend, decr, append, append",
         test_prepend_decr_append_append,
         test_setup, teardown, NULL},
        {"prepend, decr, append, decr",
         test_prepend_decr_append_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, append, decrWithDefault",
         test_prepend_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, append, delay",
         test_prepend_decr_append_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, append, delete",
         test_prepend_decr_append_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, append, flush",
         test_prepend_decr_append_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, append, incr",
         test_prepend_decr_append_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, append, incrWithDefault",
         test_prepend_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, append, prepend",
         test_prepend_decr_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, append, set",
         test_prepend_decr_append_set,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, add",
         test_prepend_decr_decr_add,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, append",
         test_prepend_decr_decr_append,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, decr",
         test_prepend_decr_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, decrWithDefault",
         test_prepend_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, delay",
         test_prepend_decr_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, delete",
         test_prepend_decr_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, flush",
         test_prepend_decr_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, incr",
         test_prepend_decr_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, incrWithDefault",
         test_prepend_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, prepend",
         test_prepend_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, decr, set",
         test_prepend_decr_decr_set,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, add",
         test_prepend_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, append",
         test_prepend_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, decr",
         test_prepend_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, decrWithDefault",
         test_prepend_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, delay",
         test_prepend_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, delete",
         test_prepend_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, flush",
         test_prepend_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, incr",
         test_prepend_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, incrWithDefault",
         test_prepend_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, prepend",
         test_prepend_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, decrWithDefault, set",
         test_prepend_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, add",
         test_prepend_decr_delay_add,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, append",
         test_prepend_decr_delay_append,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, decr",
         test_prepend_decr_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, decrWithDefault",
         test_prepend_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, delay",
         test_prepend_decr_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, delete",
         test_prepend_decr_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, flush",
         test_prepend_decr_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, incr",
         test_prepend_decr_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, incrWithDefault",
         test_prepend_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, prepend",
         test_prepend_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, delay, set",
         test_prepend_decr_delay_set,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, add",
         test_prepend_decr_delete_add,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, append",
         test_prepend_decr_delete_append,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, decr",
         test_prepend_decr_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, decrWithDefault",
         test_prepend_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, delay",
         test_prepend_decr_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, delete",
         test_prepend_decr_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, flush",
         test_prepend_decr_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, incr",
         test_prepend_decr_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, incrWithDefault",
         test_prepend_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, prepend",
         test_prepend_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, delete, set",
         test_prepend_decr_delete_set,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, add",
         test_prepend_decr_flush_add,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, append",
         test_prepend_decr_flush_append,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, decr",
         test_prepend_decr_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, decrWithDefault",
         test_prepend_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, delay",
         test_prepend_decr_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, delete",
         test_prepend_decr_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, flush",
         test_prepend_decr_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, incr",
         test_prepend_decr_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, incrWithDefault",
         test_prepend_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, prepend",
         test_prepend_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, flush, set",
         test_prepend_decr_flush_set,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, add",
         test_prepend_decr_incr_add,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, append",
         test_prepend_decr_incr_append,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, decr",
         test_prepend_decr_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, decrWithDefault",
         test_prepend_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, delay",
         test_prepend_decr_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, delete",
         test_prepend_decr_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, flush",
         test_prepend_decr_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, incr",
         test_prepend_decr_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, incrWithDefault",
         test_prepend_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, prepend",
         test_prepend_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, incr, set",
         test_prepend_decr_incr_set,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, add",
         test_prepend_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, append",
         test_prepend_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, decr",
         test_prepend_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, decrWithDefault",
         test_prepend_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, delay",
         test_prepend_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, delete",
         test_prepend_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, flush",
         test_prepend_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, incr",
         test_prepend_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, incrWithDefault",
         test_prepend_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, prepend",
         test_prepend_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, incrWithDefault, set",
         test_prepend_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, add",
         test_prepend_decr_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, append",
         test_prepend_decr_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, decr",
         test_prepend_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, decrWithDefault",
         test_prepend_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, delay",
         test_prepend_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, delete",
         test_prepend_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, flush",
         test_prepend_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, incr",
         test_prepend_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, incrWithDefault",
         test_prepend_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, prepend",
         test_prepend_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, prepend, set",
         test_prepend_decr_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, decr, set, add",
         test_prepend_decr_set_add,
         test_setup, teardown, NULL},
        {"prepend, decr, set, append",
         test_prepend_decr_set_append,
         test_setup, teardown, NULL},
        {"prepend, decr, set, decr",
         test_prepend_decr_set_decr,
         test_setup, teardown, NULL},
        {"prepend, decr, set, decrWithDefault",
         test_prepend_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, set, delay",
         test_prepend_decr_set_delay,
         test_setup, teardown, NULL},
        {"prepend, decr, set, delete",
         test_prepend_decr_set_delete,
         test_setup, teardown, NULL},
        {"prepend, decr, set, flush",
         test_prepend_decr_set_flush,
         test_setup, teardown, NULL},
        {"prepend, decr, set, incr",
         test_prepend_decr_set_incr,
         test_setup, teardown, NULL},
        {"prepend, decr, set, incrWithDefault",
         test_prepend_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decr, set, prepend",
         test_prepend_decr_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, decr, set, set",
         test_prepend_decr_set_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, add",
         test_prepend_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, append",
         test_prepend_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, decr",
         test_prepend_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, decrWithDefault",
         test_prepend_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, delay",
         test_prepend_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, delete",
         test_prepend_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, flush",
         test_prepend_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, incr",
         test_prepend_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, incrWithDefault",
         test_prepend_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, prepend",
         test_prepend_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, add, set",
         test_prepend_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, add",
         test_prepend_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, append",
         test_prepend_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, decr",
         test_prepend_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, decrWithDefault",
         test_prepend_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, delay",
         test_prepend_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, delete",
         test_prepend_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, flush",
         test_prepend_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, incr",
         test_prepend_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, incrWithDefault",
         test_prepend_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, prepend",
         test_prepend_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, append, set",
         test_prepend_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, add",
         test_prepend_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, append",
         test_prepend_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, decr",
         test_prepend_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, decrWithDefault",
         test_prepend_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, delay",
         test_prepend_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, delete",
         test_prepend_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, flush",
         test_prepend_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, incr",
         test_prepend_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, incrWithDefault",
         test_prepend_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, prepend",
         test_prepend_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decr, set",
         test_prepend_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, add",
         test_prepend_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, append",
         test_prepend_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, decr",
         test_prepend_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, decrWithDefault",
         test_prepend_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, delay",
         test_prepend_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, delete",
         test_prepend_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, flush",
         test_prepend_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, incr",
         test_prepend_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, incrWithDefault",
         test_prepend_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, prepend",
         test_prepend_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, decrWithDefault, set",
         test_prepend_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, add",
         test_prepend_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, append",
         test_prepend_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, decr",
         test_prepend_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, decrWithDefault",
         test_prepend_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, delay",
         test_prepend_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, delete",
         test_prepend_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, flush",
         test_prepend_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, incr",
         test_prepend_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, incrWithDefault",
         test_prepend_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, prepend",
         test_prepend_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delay, set",
         test_prepend_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, add",
         test_prepend_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, append",
         test_prepend_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, decr",
         test_prepend_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, decrWithDefault",
         test_prepend_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, delay",
         test_prepend_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, delete",
         test_prepend_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, flush",
         test_prepend_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, incr",
         test_prepend_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, incrWithDefault",
         test_prepend_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, prepend",
         test_prepend_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, delete, set",
         test_prepend_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, add",
         test_prepend_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, append",
         test_prepend_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, decr",
         test_prepend_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, decrWithDefault",
         test_prepend_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, delay",
         test_prepend_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, delete",
         test_prepend_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, flush",
         test_prepend_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, incr",
         test_prepend_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, incrWithDefault",
         test_prepend_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, prepend",
         test_prepend_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, flush, set",
         test_prepend_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, add",
         test_prepend_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, append",
         test_prepend_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, decr",
         test_prepend_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, decrWithDefault",
         test_prepend_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, delay",
         test_prepend_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, delete",
         test_prepend_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, flush",
         test_prepend_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, incr",
         test_prepend_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, incrWithDefault",
         test_prepend_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, prepend",
         test_prepend_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incr, set",
         test_prepend_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, add",
         test_prepend_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, append",
         test_prepend_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, decr",
         test_prepend_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, decrWithDefault",
         test_prepend_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, delay",
         test_prepend_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, delete",
         test_prepend_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, flush",
         test_prepend_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, incr",
         test_prepend_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, incrWithDefault",
         test_prepend_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, prepend",
         test_prepend_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, incrWithDefault, set",
         test_prepend_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, add",
         test_prepend_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, append",
         test_prepend_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, decr",
         test_prepend_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, decrWithDefault",
         test_prepend_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, delay",
         test_prepend_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, delete",
         test_prepend_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, flush",
         test_prepend_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, incr",
         test_prepend_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, incrWithDefault",
         test_prepend_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, prepend",
         test_prepend_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, prepend, set",
         test_prepend_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, add",
         test_prepend_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, append",
         test_prepend_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, decr",
         test_prepend_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, decrWithDefault",
         test_prepend_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, delay",
         test_prepend_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, delete",
         test_prepend_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, flush",
         test_prepend_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, incr",
         test_prepend_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, incrWithDefault",
         test_prepend_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, prepend",
         test_prepend_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, decrWithDefault, set, set",
         test_prepend_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"prepend, delay, add, add",
         test_prepend_delay_add_add,
         test_setup, teardown, NULL},
        {"prepend, delay, add, append",
         test_prepend_delay_add_append,
         test_setup, teardown, NULL},
        {"prepend, delay, add, decr",
         test_prepend_delay_add_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, add, decrWithDefault",
         test_prepend_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, add, delay",
         test_prepend_delay_add_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, add, delete",
         test_prepend_delay_add_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, add, flush",
         test_prepend_delay_add_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, add, incr",
         test_prepend_delay_add_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, add, incrWithDefault",
         test_prepend_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, add, prepend",
         test_prepend_delay_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, add, set",
         test_prepend_delay_add_set,
         test_setup, teardown, NULL},
        {"prepend, delay, append, add",
         test_prepend_delay_append_add,
         test_setup, teardown, NULL},
        {"prepend, delay, append, append",
         test_prepend_delay_append_append,
         test_setup, teardown, NULL},
        {"prepend, delay, append, decr",
         test_prepend_delay_append_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, append, decrWithDefault",
         test_prepend_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, append, delay",
         test_prepend_delay_append_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, append, delete",
         test_prepend_delay_append_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, append, flush",
         test_prepend_delay_append_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, append, incr",
         test_prepend_delay_append_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, append, incrWithDefault",
         test_prepend_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, append, prepend",
         test_prepend_delay_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, append, set",
         test_prepend_delay_append_set,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, add",
         test_prepend_delay_decr_add,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, append",
         test_prepend_delay_decr_append,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, decr",
         test_prepend_delay_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, decrWithDefault",
         test_prepend_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, delay",
         test_prepend_delay_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, delete",
         test_prepend_delay_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, flush",
         test_prepend_delay_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, incr",
         test_prepend_delay_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, incrWithDefault",
         test_prepend_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, prepend",
         test_prepend_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, decr, set",
         test_prepend_delay_decr_set,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, add",
         test_prepend_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, append",
         test_prepend_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, decr",
         test_prepend_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, decrWithDefault",
         test_prepend_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, delay",
         test_prepend_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, delete",
         test_prepend_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, flush",
         test_prepend_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, incr",
         test_prepend_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, incrWithDefault",
         test_prepend_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, prepend",
         test_prepend_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, decrWithDefault, set",
         test_prepend_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, add",
         test_prepend_delay_delay_add,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, append",
         test_prepend_delay_delay_append,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, decr",
         test_prepend_delay_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, decrWithDefault",
         test_prepend_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, delay",
         test_prepend_delay_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, delete",
         test_prepend_delay_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, flush",
         test_prepend_delay_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, incr",
         test_prepend_delay_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, incrWithDefault",
         test_prepend_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, prepend",
         test_prepend_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, delay, set",
         test_prepend_delay_delay_set,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, add",
         test_prepend_delay_delete_add,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, append",
         test_prepend_delay_delete_append,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, decr",
         test_prepend_delay_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, decrWithDefault",
         test_prepend_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, delay",
         test_prepend_delay_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, delete",
         test_prepend_delay_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, flush",
         test_prepend_delay_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, incr",
         test_prepend_delay_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, incrWithDefault",
         test_prepend_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, prepend",
         test_prepend_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, delete, set",
         test_prepend_delay_delete_set,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, add",
         test_prepend_delay_flush_add,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, append",
         test_prepend_delay_flush_append,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, decr",
         test_prepend_delay_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, decrWithDefault",
         test_prepend_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, delay",
         test_prepend_delay_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, delete",
         test_prepend_delay_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, flush",
         test_prepend_delay_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, incr",
         test_prepend_delay_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, incrWithDefault",
         test_prepend_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, prepend",
         test_prepend_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, flush, set",
         test_prepend_delay_flush_set,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, add",
         test_prepend_delay_incr_add,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, append",
         test_prepend_delay_incr_append,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, decr",
         test_prepend_delay_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, decrWithDefault",
         test_prepend_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, delay",
         test_prepend_delay_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, delete",
         test_prepend_delay_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, flush",
         test_prepend_delay_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, incr",
         test_prepend_delay_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, incrWithDefault",
         test_prepend_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, prepend",
         test_prepend_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, incr, set",
         test_prepend_delay_incr_set,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, add",
         test_prepend_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, append",
         test_prepend_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, decr",
         test_prepend_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, decrWithDefault",
         test_prepend_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, delay",
         test_prepend_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, delete",
         test_prepend_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, flush",
         test_prepend_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, incr",
         test_prepend_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, incrWithDefault",
         test_prepend_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, prepend",
         test_prepend_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, incrWithDefault, set",
         test_prepend_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, add",
         test_prepend_delay_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, append",
         test_prepend_delay_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, decr",
         test_prepend_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, decrWithDefault",
         test_prepend_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, delay",
         test_prepend_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, delete",
         test_prepend_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, flush",
         test_prepend_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, incr",
         test_prepend_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, incrWithDefault",
         test_prepend_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, prepend",
         test_prepend_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, prepend, set",
         test_prepend_delay_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, delay, set, add",
         test_prepend_delay_set_add,
         test_setup, teardown, NULL},
        {"prepend, delay, set, append",
         test_prepend_delay_set_append,
         test_setup, teardown, NULL},
        {"prepend, delay, set, decr",
         test_prepend_delay_set_decr,
         test_setup, teardown, NULL},
        {"prepend, delay, set, decrWithDefault",
         test_prepend_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, set, delay",
         test_prepend_delay_set_delay,
         test_setup, teardown, NULL},
        {"prepend, delay, set, delete",
         test_prepend_delay_set_delete,
         test_setup, teardown, NULL},
        {"prepend, delay, set, flush",
         test_prepend_delay_set_flush,
         test_setup, teardown, NULL},
        {"prepend, delay, set, incr",
         test_prepend_delay_set_incr,
         test_setup, teardown, NULL},
        {"prepend, delay, set, incrWithDefault",
         test_prepend_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delay, set, prepend",
         test_prepend_delay_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, delay, set, set",
         test_prepend_delay_set_set,
         test_setup, teardown, NULL},
        {"prepend, delete, add, add",
         test_prepend_delete_add_add,
         test_setup, teardown, NULL},
        {"prepend, delete, add, append",
         test_prepend_delete_add_append,
         test_setup, teardown, NULL},
        {"prepend, delete, add, decr",
         test_prepend_delete_add_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, add, decrWithDefault",
         test_prepend_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, add, delay",
         test_prepend_delete_add_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, add, delete",
         test_prepend_delete_add_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, add, flush",
         test_prepend_delete_add_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, add, incr",
         test_prepend_delete_add_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, add, incrWithDefault",
         test_prepend_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, add, prepend",
         test_prepend_delete_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, add, set",
         test_prepend_delete_add_set,
         test_setup, teardown, NULL},
        {"prepend, delete, append, add",
         test_prepend_delete_append_add,
         test_setup, teardown, NULL},
        {"prepend, delete, append, append",
         test_prepend_delete_append_append,
         test_setup, teardown, NULL},
        {"prepend, delete, append, decr",
         test_prepend_delete_append_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, append, decrWithDefault",
         test_prepend_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, append, delay",
         test_prepend_delete_append_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, append, delete",
         test_prepend_delete_append_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, append, flush",
         test_prepend_delete_append_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, append, incr",
         test_prepend_delete_append_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, append, incrWithDefault",
         test_prepend_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, append, prepend",
         test_prepend_delete_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, append, set",
         test_prepend_delete_append_set,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, add",
         test_prepend_delete_decr_add,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, append",
         test_prepend_delete_decr_append,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, decr",
         test_prepend_delete_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, decrWithDefault",
         test_prepend_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, delay",
         test_prepend_delete_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, delete",
         test_prepend_delete_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, flush",
         test_prepend_delete_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, incr",
         test_prepend_delete_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, incrWithDefault",
         test_prepend_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, prepend",
         test_prepend_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, decr, set",
         test_prepend_delete_decr_set,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, add",
         test_prepend_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, append",
         test_prepend_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, decr",
         test_prepend_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, decrWithDefault",
         test_prepend_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, delay",
         test_prepend_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, delete",
         test_prepend_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, flush",
         test_prepend_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, incr",
         test_prepend_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, incrWithDefault",
         test_prepend_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, prepend",
         test_prepend_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, decrWithDefault, set",
         test_prepend_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, add",
         test_prepend_delete_delay_add,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, append",
         test_prepend_delete_delay_append,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, decr",
         test_prepend_delete_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, decrWithDefault",
         test_prepend_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, delay",
         test_prepend_delete_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, delete",
         test_prepend_delete_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, flush",
         test_prepend_delete_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, incr",
         test_prepend_delete_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, incrWithDefault",
         test_prepend_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, prepend",
         test_prepend_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, delay, set",
         test_prepend_delete_delay_set,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, add",
         test_prepend_delete_delete_add,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, append",
         test_prepend_delete_delete_append,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, decr",
         test_prepend_delete_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, decrWithDefault",
         test_prepend_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, delay",
         test_prepend_delete_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, delete",
         test_prepend_delete_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, flush",
         test_prepend_delete_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, incr",
         test_prepend_delete_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, incrWithDefault",
         test_prepend_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, prepend",
         test_prepend_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, delete, set",
         test_prepend_delete_delete_set,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, add",
         test_prepend_delete_flush_add,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, append",
         test_prepend_delete_flush_append,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, decr",
         test_prepend_delete_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, decrWithDefault",
         test_prepend_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, delay",
         test_prepend_delete_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, delete",
         test_prepend_delete_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, flush",
         test_prepend_delete_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, incr",
         test_prepend_delete_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, incrWithDefault",
         test_prepend_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, prepend",
         test_prepend_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, flush, set",
         test_prepend_delete_flush_set,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, add",
         test_prepend_delete_incr_add,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, append",
         test_prepend_delete_incr_append,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, decr",
         test_prepend_delete_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, decrWithDefault",
         test_prepend_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, delay",
         test_prepend_delete_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, delete",
         test_prepend_delete_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, flush",
         test_prepend_delete_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, incr",
         test_prepend_delete_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, incrWithDefault",
         test_prepend_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, prepend",
         test_prepend_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, incr, set",
         test_prepend_delete_incr_set,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, add",
         test_prepend_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, append",
         test_prepend_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, decr",
         test_prepend_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, decrWithDefault",
         test_prepend_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, delay",
         test_prepend_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, delete",
         test_prepend_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, flush",
         test_prepend_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, incr",
         test_prepend_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, incrWithDefault",
         test_prepend_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, prepend",
         test_prepend_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, incrWithDefault, set",
         test_prepend_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, add",
         test_prepend_delete_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, append",
         test_prepend_delete_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, decr",
         test_prepend_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, decrWithDefault",
         test_prepend_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, delay",
         test_prepend_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, delete",
         test_prepend_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, flush",
         test_prepend_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, incr",
         test_prepend_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, incrWithDefault",
         test_prepend_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, prepend",
         test_prepend_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, prepend, set",
         test_prepend_delete_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, delete, set, add",
         test_prepend_delete_set_add,
         test_setup, teardown, NULL},
        {"prepend, delete, set, append",
         test_prepend_delete_set_append,
         test_setup, teardown, NULL},
        {"prepend, delete, set, decr",
         test_prepend_delete_set_decr,
         test_setup, teardown, NULL},
        {"prepend, delete, set, decrWithDefault",
         test_prepend_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, set, delay",
         test_prepend_delete_set_delay,
         test_setup, teardown, NULL},
        {"prepend, delete, set, delete",
         test_prepend_delete_set_delete,
         test_setup, teardown, NULL},
        {"prepend, delete, set, flush",
         test_prepend_delete_set_flush,
         test_setup, teardown, NULL},
        {"prepend, delete, set, incr",
         test_prepend_delete_set_incr,
         test_setup, teardown, NULL},
        {"prepend, delete, set, incrWithDefault",
         test_prepend_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, delete, set, prepend",
         test_prepend_delete_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, delete, set, set",
         test_prepend_delete_set_set,
         test_setup, teardown, NULL},
        {"prepend, flush, add, add",
         test_prepend_flush_add_add,
         test_setup, teardown, NULL},
        {"prepend, flush, add, append",
         test_prepend_flush_add_append,
         test_setup, teardown, NULL},
        {"prepend, flush, add, decr",
         test_prepend_flush_add_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, add, decrWithDefault",
         test_prepend_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, add, delay",
         test_prepend_flush_add_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, add, delete",
         test_prepend_flush_add_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, add, flush",
         test_prepend_flush_add_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, add, incr",
         test_prepend_flush_add_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, add, incrWithDefault",
         test_prepend_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, add, prepend",
         test_prepend_flush_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, add, set",
         test_prepend_flush_add_set,
         test_setup, teardown, NULL},
        {"prepend, flush, append, add",
         test_prepend_flush_append_add,
         test_setup, teardown, NULL},
        {"prepend, flush, append, append",
         test_prepend_flush_append_append,
         test_setup, teardown, NULL},
        {"prepend, flush, append, decr",
         test_prepend_flush_append_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, append, decrWithDefault",
         test_prepend_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, append, delay",
         test_prepend_flush_append_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, append, delete",
         test_prepend_flush_append_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, append, flush",
         test_prepend_flush_append_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, append, incr",
         test_prepend_flush_append_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, append, incrWithDefault",
         test_prepend_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, append, prepend",
         test_prepend_flush_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, append, set",
         test_prepend_flush_append_set,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, add",
         test_prepend_flush_decr_add,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, append",
         test_prepend_flush_decr_append,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, decr",
         test_prepend_flush_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, decrWithDefault",
         test_prepend_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, delay",
         test_prepend_flush_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, delete",
         test_prepend_flush_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, flush",
         test_prepend_flush_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, incr",
         test_prepend_flush_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, incrWithDefault",
         test_prepend_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, prepend",
         test_prepend_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, decr, set",
         test_prepend_flush_decr_set,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, add",
         test_prepend_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, append",
         test_prepend_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, decr",
         test_prepend_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, decrWithDefault",
         test_prepend_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, delay",
         test_prepend_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, delete",
         test_prepend_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, flush",
         test_prepend_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, incr",
         test_prepend_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, incrWithDefault",
         test_prepend_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, prepend",
         test_prepend_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, decrWithDefault, set",
         test_prepend_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, add",
         test_prepend_flush_delay_add,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, append",
         test_prepend_flush_delay_append,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, decr",
         test_prepend_flush_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, decrWithDefault",
         test_prepend_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, delay",
         test_prepend_flush_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, delete",
         test_prepend_flush_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, flush",
         test_prepend_flush_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, incr",
         test_prepend_flush_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, incrWithDefault",
         test_prepend_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, prepend",
         test_prepend_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, delay, set",
         test_prepend_flush_delay_set,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, add",
         test_prepend_flush_delete_add,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, append",
         test_prepend_flush_delete_append,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, decr",
         test_prepend_flush_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, decrWithDefault",
         test_prepend_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, delay",
         test_prepend_flush_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, delete",
         test_prepend_flush_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, flush",
         test_prepend_flush_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, incr",
         test_prepend_flush_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, incrWithDefault",
         test_prepend_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, prepend",
         test_prepend_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, delete, set",
         test_prepend_flush_delete_set,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, add",
         test_prepend_flush_flush_add,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, append",
         test_prepend_flush_flush_append,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, decr",
         test_prepend_flush_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, decrWithDefault",
         test_prepend_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, delay",
         test_prepend_flush_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, delete",
         test_prepend_flush_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, flush",
         test_prepend_flush_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, incr",
         test_prepend_flush_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, incrWithDefault",
         test_prepend_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, prepend",
         test_prepend_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, flush, set",
         test_prepend_flush_flush_set,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, add",
         test_prepend_flush_incr_add,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, append",
         test_prepend_flush_incr_append,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, decr",
         test_prepend_flush_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, decrWithDefault",
         test_prepend_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, delay",
         test_prepend_flush_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, delete",
         test_prepend_flush_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, flush",
         test_prepend_flush_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, incr",
         test_prepend_flush_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, incrWithDefault",
         test_prepend_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, prepend",
         test_prepend_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, incr, set",
         test_prepend_flush_incr_set,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, add",
         test_prepend_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, append",
         test_prepend_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, decr",
         test_prepend_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, decrWithDefault",
         test_prepend_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, delay",
         test_prepend_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, delete",
         test_prepend_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, flush",
         test_prepend_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, incr",
         test_prepend_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, incrWithDefault",
         test_prepend_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, prepend",
         test_prepend_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, incrWithDefault, set",
         test_prepend_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, add",
         test_prepend_flush_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, append",
         test_prepend_flush_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, decr",
         test_prepend_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, decrWithDefault",
         test_prepend_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, delay",
         test_prepend_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, delete",
         test_prepend_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, flush",
         test_prepend_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, incr",
         test_prepend_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, incrWithDefault",
         test_prepend_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, prepend",
         test_prepend_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, prepend, set",
         test_prepend_flush_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, flush, set, add",
         test_prepend_flush_set_add,
         test_setup, teardown, NULL},
        {"prepend, flush, set, append",
         test_prepend_flush_set_append,
         test_setup, teardown, NULL},
        {"prepend, flush, set, decr",
         test_prepend_flush_set_decr,
         test_setup, teardown, NULL},
        {"prepend, flush, set, decrWithDefault",
         test_prepend_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, set, delay",
         test_prepend_flush_set_delay,
         test_setup, teardown, NULL},
        {"prepend, flush, set, delete",
         test_prepend_flush_set_delete,
         test_setup, teardown, NULL},
        {"prepend, flush, set, flush",
         test_prepend_flush_set_flush,
         test_setup, teardown, NULL},
        {"prepend, flush, set, incr",
         test_prepend_flush_set_incr,
         test_setup, teardown, NULL},
        {"prepend, flush, set, incrWithDefault",
         test_prepend_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, flush, set, prepend",
         test_prepend_flush_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, flush, set, set",
         test_prepend_flush_set_set,
         test_setup, teardown, NULL},
        {"prepend, incr, add, add",
         test_prepend_incr_add_add,
         test_setup, teardown, NULL},
        {"prepend, incr, add, append",
         test_prepend_incr_add_append,
         test_setup, teardown, NULL},
        {"prepend, incr, add, decr",
         test_prepend_incr_add_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, add, decrWithDefault",
         test_prepend_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, add, delay",
         test_prepend_incr_add_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, add, delete",
         test_prepend_incr_add_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, add, flush",
         test_prepend_incr_add_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, add, incr",
         test_prepend_incr_add_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, add, incrWithDefault",
         test_prepend_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, add, prepend",
         test_prepend_incr_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, add, set",
         test_prepend_incr_add_set,
         test_setup, teardown, NULL},
        {"prepend, incr, append, add",
         test_prepend_incr_append_add,
         test_setup, teardown, NULL},
        {"prepend, incr, append, append",
         test_prepend_incr_append_append,
         test_setup, teardown, NULL},
        {"prepend, incr, append, decr",
         test_prepend_incr_append_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, append, decrWithDefault",
         test_prepend_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, append, delay",
         test_prepend_incr_append_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, append, delete",
         test_prepend_incr_append_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, append, flush",
         test_prepend_incr_append_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, append, incr",
         test_prepend_incr_append_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, append, incrWithDefault",
         test_prepend_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, append, prepend",
         test_prepend_incr_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, append, set",
         test_prepend_incr_append_set,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, add",
         test_prepend_incr_decr_add,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, append",
         test_prepend_incr_decr_append,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, decr",
         test_prepend_incr_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, decrWithDefault",
         test_prepend_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, delay",
         test_prepend_incr_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, delete",
         test_prepend_incr_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, flush",
         test_prepend_incr_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, incr",
         test_prepend_incr_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, incrWithDefault",
         test_prepend_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, prepend",
         test_prepend_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, decr, set",
         test_prepend_incr_decr_set,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, add",
         test_prepend_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, append",
         test_prepend_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, decr",
         test_prepend_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, decrWithDefault",
         test_prepend_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, delay",
         test_prepend_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, delete",
         test_prepend_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, flush",
         test_prepend_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, incr",
         test_prepend_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, incrWithDefault",
         test_prepend_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, prepend",
         test_prepend_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, decrWithDefault, set",
         test_prepend_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, add",
         test_prepend_incr_delay_add,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, append",
         test_prepend_incr_delay_append,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, decr",
         test_prepend_incr_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, decrWithDefault",
         test_prepend_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, delay",
         test_prepend_incr_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, delete",
         test_prepend_incr_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, flush",
         test_prepend_incr_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, incr",
         test_prepend_incr_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, incrWithDefault",
         test_prepend_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, prepend",
         test_prepend_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, delay, set",
         test_prepend_incr_delay_set,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, add",
         test_prepend_incr_delete_add,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, append",
         test_prepend_incr_delete_append,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, decr",
         test_prepend_incr_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, decrWithDefault",
         test_prepend_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, delay",
         test_prepend_incr_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, delete",
         test_prepend_incr_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, flush",
         test_prepend_incr_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, incr",
         test_prepend_incr_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, incrWithDefault",
         test_prepend_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, prepend",
         test_prepend_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, delete, set",
         test_prepend_incr_delete_set,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, add",
         test_prepend_incr_flush_add,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, append",
         test_prepend_incr_flush_append,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, decr",
         test_prepend_incr_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, decrWithDefault",
         test_prepend_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, delay",
         test_prepend_incr_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, delete",
         test_prepend_incr_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, flush",
         test_prepend_incr_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, incr",
         test_prepend_incr_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, incrWithDefault",
         test_prepend_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, prepend",
         test_prepend_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, flush, set",
         test_prepend_incr_flush_set,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, add",
         test_prepend_incr_incr_add,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, append",
         test_prepend_incr_incr_append,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, decr",
         test_prepend_incr_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, decrWithDefault",
         test_prepend_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, delay",
         test_prepend_incr_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, delete",
         test_prepend_incr_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, flush",
         test_prepend_incr_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, incr",
         test_prepend_incr_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, incrWithDefault",
         test_prepend_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, prepend",
         test_prepend_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, incr, set",
         test_prepend_incr_incr_set,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, add",
         test_prepend_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, append",
         test_prepend_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, decr",
         test_prepend_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, decrWithDefault",
         test_prepend_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, delay",
         test_prepend_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, delete",
         test_prepend_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, flush",
         test_prepend_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, incr",
         test_prepend_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, incrWithDefault",
         test_prepend_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, prepend",
         test_prepend_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, incrWithDefault, set",
         test_prepend_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, add",
         test_prepend_incr_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, append",
         test_prepend_incr_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, decr",
         test_prepend_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, decrWithDefault",
         test_prepend_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, delay",
         test_prepend_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, delete",
         test_prepend_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, flush",
         test_prepend_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, incr",
         test_prepend_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, incrWithDefault",
         test_prepend_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, prepend",
         test_prepend_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, prepend, set",
         test_prepend_incr_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, incr, set, add",
         test_prepend_incr_set_add,
         test_setup, teardown, NULL},
        {"prepend, incr, set, append",
         test_prepend_incr_set_append,
         test_setup, teardown, NULL},
        {"prepend, incr, set, decr",
         test_prepend_incr_set_decr,
         test_setup, teardown, NULL},
        {"prepend, incr, set, decrWithDefault",
         test_prepend_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, set, delay",
         test_prepend_incr_set_delay,
         test_setup, teardown, NULL},
        {"prepend, incr, set, delete",
         test_prepend_incr_set_delete,
         test_setup, teardown, NULL},
        {"prepend, incr, set, flush",
         test_prepend_incr_set_flush,
         test_setup, teardown, NULL},
        {"prepend, incr, set, incr",
         test_prepend_incr_set_incr,
         test_setup, teardown, NULL},
        {"prepend, incr, set, incrWithDefault",
         test_prepend_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incr, set, prepend",
         test_prepend_incr_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, incr, set, set",
         test_prepend_incr_set_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, add",
         test_prepend_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, append",
         test_prepend_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, decr",
         test_prepend_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, decrWithDefault",
         test_prepend_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, delay",
         test_prepend_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, delete",
         test_prepend_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, flush",
         test_prepend_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, incr",
         test_prepend_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, incrWithDefault",
         test_prepend_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, prepend",
         test_prepend_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, add, set",
         test_prepend_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, add",
         test_prepend_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, append",
         test_prepend_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, decr",
         test_prepend_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, decrWithDefault",
         test_prepend_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, delay",
         test_prepend_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, delete",
         test_prepend_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, flush",
         test_prepend_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, incr",
         test_prepend_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, incrWithDefault",
         test_prepend_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, prepend",
         test_prepend_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, append, set",
         test_prepend_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, add",
         test_prepend_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, append",
         test_prepend_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, decr",
         test_prepend_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, decrWithDefault",
         test_prepend_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, delay",
         test_prepend_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, delete",
         test_prepend_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, flush",
         test_prepend_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, incr",
         test_prepend_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, incrWithDefault",
         test_prepend_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, prepend",
         test_prepend_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decr, set",
         test_prepend_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, add",
         test_prepend_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, append",
         test_prepend_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, decr",
         test_prepend_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, decrWithDefault",
         test_prepend_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, delay",
         test_prepend_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, delete",
         test_prepend_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, flush",
         test_prepend_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, incr",
         test_prepend_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, incrWithDefault",
         test_prepend_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, prepend",
         test_prepend_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, decrWithDefault, set",
         test_prepend_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, add",
         test_prepend_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, append",
         test_prepend_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, decr",
         test_prepend_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, decrWithDefault",
         test_prepend_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, delay",
         test_prepend_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, delete",
         test_prepend_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, flush",
         test_prepend_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, incr",
         test_prepend_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, incrWithDefault",
         test_prepend_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, prepend",
         test_prepend_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delay, set",
         test_prepend_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, add",
         test_prepend_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, append",
         test_prepend_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, decr",
         test_prepend_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, decrWithDefault",
         test_prepend_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, delay",
         test_prepend_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, delete",
         test_prepend_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, flush",
         test_prepend_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, incr",
         test_prepend_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, incrWithDefault",
         test_prepend_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, prepend",
         test_prepend_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, delete, set",
         test_prepend_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, add",
         test_prepend_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, append",
         test_prepend_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, decr",
         test_prepend_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, decrWithDefault",
         test_prepend_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, delay",
         test_prepend_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, delete",
         test_prepend_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, flush",
         test_prepend_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, incr",
         test_prepend_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, incrWithDefault",
         test_prepend_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, prepend",
         test_prepend_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, flush, set",
         test_prepend_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, add",
         test_prepend_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, append",
         test_prepend_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, decr",
         test_prepend_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, decrWithDefault",
         test_prepend_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, delay",
         test_prepend_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, delete",
         test_prepend_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, flush",
         test_prepend_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, incr",
         test_prepend_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, incrWithDefault",
         test_prepend_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, prepend",
         test_prepend_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incr, set",
         test_prepend_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, add",
         test_prepend_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, append",
         test_prepend_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, decr",
         test_prepend_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, decrWithDefault",
         test_prepend_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, delay",
         test_prepend_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, delete",
         test_prepend_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, flush",
         test_prepend_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, incr",
         test_prepend_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, incrWithDefault",
         test_prepend_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, prepend",
         test_prepend_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, incrWithDefault, set",
         test_prepend_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, add",
         test_prepend_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, append",
         test_prepend_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, decr",
         test_prepend_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, decrWithDefault",
         test_prepend_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, delay",
         test_prepend_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, delete",
         test_prepend_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, flush",
         test_prepend_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, incr",
         test_prepend_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, incrWithDefault",
         test_prepend_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, prepend",
         test_prepend_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, prepend, set",
         test_prepend_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, add",
         test_prepend_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, append",
         test_prepend_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, decr",
         test_prepend_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, decrWithDefault",
         test_prepend_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, delay",
         test_prepend_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, delete",
         test_prepend_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, flush",
         test_prepend_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, incr",
         test_prepend_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, incrWithDefault",
         test_prepend_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, prepend",
         test_prepend_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, incrWithDefault, set, set",
         test_prepend_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, add",
         test_prepend_prepend_add_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, append",
         test_prepend_prepend_add_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, decr",
         test_prepend_prepend_add_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, decrWithDefault",
         test_prepend_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, delay",
         test_prepend_prepend_add_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, delete",
         test_prepend_prepend_add_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, flush",
         test_prepend_prepend_add_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, incr",
         test_prepend_prepend_add_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, incrWithDefault",
         test_prepend_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, prepend",
         test_prepend_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, add, set",
         test_prepend_prepend_add_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, add",
         test_prepend_prepend_append_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, append",
         test_prepend_prepend_append_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, decr",
         test_prepend_prepend_append_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, decrWithDefault",
         test_prepend_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, delay",
         test_prepend_prepend_append_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, delete",
         test_prepend_prepend_append_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, flush",
         test_prepend_prepend_append_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, incr",
         test_prepend_prepend_append_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, incrWithDefault",
         test_prepend_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, prepend",
         test_prepend_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, append, set",
         test_prepend_prepend_append_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, add",
         test_prepend_prepend_decr_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, append",
         test_prepend_prepend_decr_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, decr",
         test_prepend_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, decrWithDefault",
         test_prepend_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, delay",
         test_prepend_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, delete",
         test_prepend_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, flush",
         test_prepend_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, incr",
         test_prepend_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, incrWithDefault",
         test_prepend_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, prepend",
         test_prepend_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, decr, set",
         test_prepend_prepend_decr_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, add",
         test_prepend_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, append",
         test_prepend_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, decr",
         test_prepend_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, decrWithDefault",
         test_prepend_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, delay",
         test_prepend_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, delete",
         test_prepend_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, flush",
         test_prepend_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, incr",
         test_prepend_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, incrWithDefault",
         test_prepend_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, prepend",
         test_prepend_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, decrWithDefault, set",
         test_prepend_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, add",
         test_prepend_prepend_delay_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, append",
         test_prepend_prepend_delay_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, decr",
         test_prepend_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, decrWithDefault",
         test_prepend_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, delay",
         test_prepend_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, delete",
         test_prepend_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, flush",
         test_prepend_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, incr",
         test_prepend_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, incrWithDefault",
         test_prepend_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, prepend",
         test_prepend_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, delay, set",
         test_prepend_prepend_delay_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, add",
         test_prepend_prepend_delete_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, append",
         test_prepend_prepend_delete_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, decr",
         test_prepend_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, decrWithDefault",
         test_prepend_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, delay",
         test_prepend_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, delete",
         test_prepend_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, flush",
         test_prepend_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, incr",
         test_prepend_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, incrWithDefault",
         test_prepend_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, prepend",
         test_prepend_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, delete, set",
         test_prepend_prepend_delete_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, add",
         test_prepend_prepend_flush_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, append",
         test_prepend_prepend_flush_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, decr",
         test_prepend_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, decrWithDefault",
         test_prepend_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, delay",
         test_prepend_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, delete",
         test_prepend_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, flush",
         test_prepend_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, incr",
         test_prepend_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, incrWithDefault",
         test_prepend_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, prepend",
         test_prepend_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, flush, set",
         test_prepend_prepend_flush_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, add",
         test_prepend_prepend_incr_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, append",
         test_prepend_prepend_incr_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, decr",
         test_prepend_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, decrWithDefault",
         test_prepend_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, delay",
         test_prepend_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, delete",
         test_prepend_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, flush",
         test_prepend_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, incr",
         test_prepend_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, incrWithDefault",
         test_prepend_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, prepend",
         test_prepend_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, incr, set",
         test_prepend_prepend_incr_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, add",
         test_prepend_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, append",
         test_prepend_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, decr",
         test_prepend_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, decrWithDefault",
         test_prepend_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, delay",
         test_prepend_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, delete",
         test_prepend_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, flush",
         test_prepend_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, incr",
         test_prepend_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, incrWithDefault",
         test_prepend_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, prepend",
         test_prepend_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, incrWithDefault, set",
         test_prepend_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, add",
         test_prepend_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, append",
         test_prepend_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, decr",
         test_prepend_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, decrWithDefault",
         test_prepend_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, delay",
         test_prepend_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, delete",
         test_prepend_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, flush",
         test_prepend_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, incr",
         test_prepend_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, incrWithDefault",
         test_prepend_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, prepend, set",
         test_prepend_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, add",
         test_prepend_prepend_set_add,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, append",
         test_prepend_prepend_set_append,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, decr",
         test_prepend_prepend_set_decr,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, decrWithDefault",
         test_prepend_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, delay",
         test_prepend_prepend_set_delay,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, delete",
         test_prepend_prepend_set_delete,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, flush",
         test_prepend_prepend_set_flush,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, incr",
         test_prepend_prepend_set_incr,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, incrWithDefault",
         test_prepend_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, prepend",
         test_prepend_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, prepend, set, set",
         test_prepend_prepend_set_set,
         test_setup, teardown, NULL},
        {"prepend, set, add, add",
         test_prepend_set_add_add,
         test_setup, teardown, NULL},
        {"prepend, set, add, append",
         test_prepend_set_add_append,
         test_setup, teardown, NULL},
        {"prepend, set, add, decr",
         test_prepend_set_add_decr,
         test_setup, teardown, NULL},
        {"prepend, set, add, decrWithDefault",
         test_prepend_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, add, delay",
         test_prepend_set_add_delay,
         test_setup, teardown, NULL},
        {"prepend, set, add, delete",
         test_prepend_set_add_delete,
         test_setup, teardown, NULL},
        {"prepend, set, add, flush",
         test_prepend_set_add_flush,
         test_setup, teardown, NULL},
        {"prepend, set, add, incr",
         test_prepend_set_add_incr,
         test_setup, teardown, NULL},
        {"prepend, set, add, incrWithDefault",
         test_prepend_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, add, prepend",
         test_prepend_set_add_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, add, set",
         test_prepend_set_add_set,
         test_setup, teardown, NULL},
        {"prepend, set, append, add",
         test_prepend_set_append_add,
         test_setup, teardown, NULL},
        {"prepend, set, append, append",
         test_prepend_set_append_append,
         test_setup, teardown, NULL},
        {"prepend, set, append, decr",
         test_prepend_set_append_decr,
         test_setup, teardown, NULL},
        {"prepend, set, append, decrWithDefault",
         test_prepend_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, append, delay",
         test_prepend_set_append_delay,
         test_setup, teardown, NULL},
        {"prepend, set, append, delete",
         test_prepend_set_append_delete,
         test_setup, teardown, NULL},
        {"prepend, set, append, flush",
         test_prepend_set_append_flush,
         test_setup, teardown, NULL},
        {"prepend, set, append, incr",
         test_prepend_set_append_incr,
         test_setup, teardown, NULL},
        {"prepend, set, append, incrWithDefault",
         test_prepend_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, append, prepend",
         test_prepend_set_append_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, append, set",
         test_prepend_set_append_set,
         test_setup, teardown, NULL},
        {"prepend, set, decr, add",
         test_prepend_set_decr_add,
         test_setup, teardown, NULL},
        {"prepend, set, decr, append",
         test_prepend_set_decr_append,
         test_setup, teardown, NULL},
        {"prepend, set, decr, decr",
         test_prepend_set_decr_decr,
         test_setup, teardown, NULL},
        {"prepend, set, decr, decrWithDefault",
         test_prepend_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, decr, delay",
         test_prepend_set_decr_delay,
         test_setup, teardown, NULL},
        {"prepend, set, decr, delete",
         test_prepend_set_decr_delete,
         test_setup, teardown, NULL},
        {"prepend, set, decr, flush",
         test_prepend_set_decr_flush,
         test_setup, teardown, NULL},
        {"prepend, set, decr, incr",
         test_prepend_set_decr_incr,
         test_setup, teardown, NULL},
        {"prepend, set, decr, incrWithDefault",
         test_prepend_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, decr, prepend",
         test_prepend_set_decr_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, decr, set",
         test_prepend_set_decr_set,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, add",
         test_prepend_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, append",
         test_prepend_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, decr",
         test_prepend_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, decrWithDefault",
         test_prepend_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, delay",
         test_prepend_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, delete",
         test_prepend_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, flush",
         test_prepend_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, incr",
         test_prepend_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, incrWithDefault",
         test_prepend_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, prepend",
         test_prepend_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, decrWithDefault, set",
         test_prepend_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, set, delay, add",
         test_prepend_set_delay_add,
         test_setup, teardown, NULL},
        {"prepend, set, delay, append",
         test_prepend_set_delay_append,
         test_setup, teardown, NULL},
        {"prepend, set, delay, decr",
         test_prepend_set_delay_decr,
         test_setup, teardown, NULL},
        {"prepend, set, delay, decrWithDefault",
         test_prepend_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, delay, delay",
         test_prepend_set_delay_delay,
         test_setup, teardown, NULL},
        {"prepend, set, delay, delete",
         test_prepend_set_delay_delete,
         test_setup, teardown, NULL},
        {"prepend, set, delay, flush",
         test_prepend_set_delay_flush,
         test_setup, teardown, NULL},
        {"prepend, set, delay, incr",
         test_prepend_set_delay_incr,
         test_setup, teardown, NULL},
        {"prepend, set, delay, incrWithDefault",
         test_prepend_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, delay, prepend",
         test_prepend_set_delay_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, delay, set",
         test_prepend_set_delay_set,
         test_setup, teardown, NULL},
        {"prepend, set, delete, add",
         test_prepend_set_delete_add,
         test_setup, teardown, NULL},
        {"prepend, set, delete, append",
         test_prepend_set_delete_append,
         test_setup, teardown, NULL},
        {"prepend, set, delete, decr",
         test_prepend_set_delete_decr,
         test_setup, teardown, NULL},
        {"prepend, set, delete, decrWithDefault",
         test_prepend_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, delete, delay",
         test_prepend_set_delete_delay,
         test_setup, teardown, NULL},
        {"prepend, set, delete, delete",
         test_prepend_set_delete_delete,
         test_setup, teardown, NULL},
        {"prepend, set, delete, flush",
         test_prepend_set_delete_flush,
         test_setup, teardown, NULL},
        {"prepend, set, delete, incr",
         test_prepend_set_delete_incr,
         test_setup, teardown, NULL},
        {"prepend, set, delete, incrWithDefault",
         test_prepend_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, delete, prepend",
         test_prepend_set_delete_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, delete, set",
         test_prepend_set_delete_set,
         test_setup, teardown, NULL},
        {"prepend, set, flush, add",
         test_prepend_set_flush_add,
         test_setup, teardown, NULL},
        {"prepend, set, flush, append",
         test_prepend_set_flush_append,
         test_setup, teardown, NULL},
        {"prepend, set, flush, decr",
         test_prepend_set_flush_decr,
         test_setup, teardown, NULL},
        {"prepend, set, flush, decrWithDefault",
         test_prepend_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, flush, delay",
         test_prepend_set_flush_delay,
         test_setup, teardown, NULL},
        {"prepend, set, flush, delete",
         test_prepend_set_flush_delete,
         test_setup, teardown, NULL},
        {"prepend, set, flush, flush",
         test_prepend_set_flush_flush,
         test_setup, teardown, NULL},
        {"prepend, set, flush, incr",
         test_prepend_set_flush_incr,
         test_setup, teardown, NULL},
        {"prepend, set, flush, incrWithDefault",
         test_prepend_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, flush, prepend",
         test_prepend_set_flush_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, flush, set",
         test_prepend_set_flush_set,
         test_setup, teardown, NULL},
        {"prepend, set, incr, add",
         test_prepend_set_incr_add,
         test_setup, teardown, NULL},
        {"prepend, set, incr, append",
         test_prepend_set_incr_append,
         test_setup, teardown, NULL},
        {"prepend, set, incr, decr",
         test_prepend_set_incr_decr,
         test_setup, teardown, NULL},
        {"prepend, set, incr, decrWithDefault",
         test_prepend_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, incr, delay",
         test_prepend_set_incr_delay,
         test_setup, teardown, NULL},
        {"prepend, set, incr, delete",
         test_prepend_set_incr_delete,
         test_setup, teardown, NULL},
        {"prepend, set, incr, flush",
         test_prepend_set_incr_flush,
         test_setup, teardown, NULL},
        {"prepend, set, incr, incr",
         test_prepend_set_incr_incr,
         test_setup, teardown, NULL},
        {"prepend, set, incr, incrWithDefault",
         test_prepend_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, incr, prepend",
         test_prepend_set_incr_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, incr, set",
         test_prepend_set_incr_set,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, add",
         test_prepend_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, append",
         test_prepend_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, decr",
         test_prepend_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, decrWithDefault",
         test_prepend_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, delay",
         test_prepend_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, delete",
         test_prepend_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, flush",
         test_prepend_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, incr",
         test_prepend_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, incrWithDefault",
         test_prepend_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, prepend",
         test_prepend_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, incrWithDefault, set",
         test_prepend_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, add",
         test_prepend_set_prepend_add,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, append",
         test_prepend_set_prepend_append,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, decr",
         test_prepend_set_prepend_decr,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, decrWithDefault",
         test_prepend_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, delay",
         test_prepend_set_prepend_delay,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, delete",
         test_prepend_set_prepend_delete,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, flush",
         test_prepend_set_prepend_flush,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, incr",
         test_prepend_set_prepend_incr,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, incrWithDefault",
         test_prepend_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, prepend",
         test_prepend_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, prepend, set",
         test_prepend_set_prepend_set,
         test_setup, teardown, NULL},
        {"prepend, set, set, add",
         test_prepend_set_set_add,
         test_setup, teardown, NULL},
        {"prepend, set, set, append",
         test_prepend_set_set_append,
         test_setup, teardown, NULL},
        {"prepend, set, set, decr",
         test_prepend_set_set_decr,
         test_setup, teardown, NULL},
        {"prepend, set, set, decrWithDefault",
         test_prepend_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, set, delay",
         test_prepend_set_set_delay,
         test_setup, teardown, NULL},
        {"prepend, set, set, delete",
         test_prepend_set_set_delete,
         test_setup, teardown, NULL},
        {"prepend, set, set, flush",
         test_prepend_set_set_flush,
         test_setup, teardown, NULL},
        {"prepend, set, set, incr",
         test_prepend_set_set_incr,
         test_setup, teardown, NULL},
        {"prepend, set, set, incrWithDefault",
         test_prepend_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"prepend, set, set, prepend",
         test_prepend_set_set_prepend,
         test_setup, teardown, NULL},
        {"prepend, set, set, set",
         test_prepend_set_set_set,
         test_setup, teardown, NULL},
        {"set, add, add, add",
         test_set_add_add_add,
         test_setup, teardown, NULL},
        {"set, add, add, append",
         test_set_add_add_append,
         test_setup, teardown, NULL},
        {"set, add, add, decr",
         test_set_add_add_decr,
         test_setup, teardown, NULL},
        {"set, add, add, decrWithDefault",
         test_set_add_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, add, delay",
         test_set_add_add_delay,
         test_setup, teardown, NULL},
        {"set, add, add, delete",
         test_set_add_add_delete,
         test_setup, teardown, NULL},
        {"set, add, add, flush",
         test_set_add_add_flush,
         test_setup, teardown, NULL},
        {"set, add, add, incr",
         test_set_add_add_incr,
         test_setup, teardown, NULL},
        {"set, add, add, incrWithDefault",
         test_set_add_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, add, prepend",
         test_set_add_add_prepend,
         test_setup, teardown, NULL},
        {"set, add, add, set",
         test_set_add_add_set,
         test_setup, teardown, NULL},
        {"set, add, append, add",
         test_set_add_append_add,
         test_setup, teardown, NULL},
        {"set, add, append, append",
         test_set_add_append_append,
         test_setup, teardown, NULL},
        {"set, add, append, decr",
         test_set_add_append_decr,
         test_setup, teardown, NULL},
        {"set, add, append, decrWithDefault",
         test_set_add_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, append, delay",
         test_set_add_append_delay,
         test_setup, teardown, NULL},
        {"set, add, append, delete",
         test_set_add_append_delete,
         test_setup, teardown, NULL},
        {"set, add, append, flush",
         test_set_add_append_flush,
         test_setup, teardown, NULL},
        {"set, add, append, incr",
         test_set_add_append_incr,
         test_setup, teardown, NULL},
        {"set, add, append, incrWithDefault",
         test_set_add_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, append, prepend",
         test_set_add_append_prepend,
         test_setup, teardown, NULL},
        {"set, add, append, set",
         test_set_add_append_set,
         test_setup, teardown, NULL},
        {"set, add, decr, add",
         test_set_add_decr_add,
         test_setup, teardown, NULL},
        {"set, add, decr, append",
         test_set_add_decr_append,
         test_setup, teardown, NULL},
        {"set, add, decr, decr",
         test_set_add_decr_decr,
         test_setup, teardown, NULL},
        {"set, add, decr, decrWithDefault",
         test_set_add_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, decr, delay",
         test_set_add_decr_delay,
         test_setup, teardown, NULL},
        {"set, add, decr, delete",
         test_set_add_decr_delete,
         test_setup, teardown, NULL},
        {"set, add, decr, flush",
         test_set_add_decr_flush,
         test_setup, teardown, NULL},
        {"set, add, decr, incr",
         test_set_add_decr_incr,
         test_setup, teardown, NULL},
        {"set, add, decr, incrWithDefault",
         test_set_add_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, decr, prepend",
         test_set_add_decr_prepend,
         test_setup, teardown, NULL},
        {"set, add, decr, set",
         test_set_add_decr_set,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, add",
         test_set_add_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, append",
         test_set_add_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, decr",
         test_set_add_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, decrWithDefault",
         test_set_add_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, delay",
         test_set_add_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, delete",
         test_set_add_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, flush",
         test_set_add_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, incr",
         test_set_add_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, incrWithDefault",
         test_set_add_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, prepend",
         test_set_add_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, add, decrWithDefault, set",
         test_set_add_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, add, delay, add",
         test_set_add_delay_add,
         test_setup, teardown, NULL},
        {"set, add, delay, append",
         test_set_add_delay_append,
         test_setup, teardown, NULL},
        {"set, add, delay, decr",
         test_set_add_delay_decr,
         test_setup, teardown, NULL},
        {"set, add, delay, decrWithDefault",
         test_set_add_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, delay, delay",
         test_set_add_delay_delay,
         test_setup, teardown, NULL},
        {"set, add, delay, delete",
         test_set_add_delay_delete,
         test_setup, teardown, NULL},
        {"set, add, delay, flush",
         test_set_add_delay_flush,
         test_setup, teardown, NULL},
        {"set, add, delay, incr",
         test_set_add_delay_incr,
         test_setup, teardown, NULL},
        {"set, add, delay, incrWithDefault",
         test_set_add_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, delay, prepend",
         test_set_add_delay_prepend,
         test_setup, teardown, NULL},
        {"set, add, delay, set",
         test_set_add_delay_set,
         test_setup, teardown, NULL},
        {"set, add, delete, add",
         test_set_add_delete_add,
         test_setup, teardown, NULL},
        {"set, add, delete, append",
         test_set_add_delete_append,
         test_setup, teardown, NULL},
        {"set, add, delete, decr",
         test_set_add_delete_decr,
         test_setup, teardown, NULL},
        {"set, add, delete, decrWithDefault",
         test_set_add_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, delete, delay",
         test_set_add_delete_delay,
         test_setup, teardown, NULL},
        {"set, add, delete, delete",
         test_set_add_delete_delete,
         test_setup, teardown, NULL},
        {"set, add, delete, flush",
         test_set_add_delete_flush,
         test_setup, teardown, NULL},
        {"set, add, delete, incr",
         test_set_add_delete_incr,
         test_setup, teardown, NULL},
        {"set, add, delete, incrWithDefault",
         test_set_add_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, delete, prepend",
         test_set_add_delete_prepend,
         test_setup, teardown, NULL},
        {"set, add, delete, set",
         test_set_add_delete_set,
         test_setup, teardown, NULL},
        {"set, add, flush, add",
         test_set_add_flush_add,
         test_setup, teardown, NULL},
        {"set, add, flush, append",
         test_set_add_flush_append,
         test_setup, teardown, NULL},
        {"set, add, flush, decr",
         test_set_add_flush_decr,
         test_setup, teardown, NULL},
        {"set, add, flush, decrWithDefault",
         test_set_add_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, flush, delay",
         test_set_add_flush_delay,
         test_setup, teardown, NULL},
        {"set, add, flush, delete",
         test_set_add_flush_delete,
         test_setup, teardown, NULL},
        {"set, add, flush, flush",
         test_set_add_flush_flush,
         test_setup, teardown, NULL},
        {"set, add, flush, incr",
         test_set_add_flush_incr,
         test_setup, teardown, NULL},
        {"set, add, flush, incrWithDefault",
         test_set_add_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, flush, prepend",
         test_set_add_flush_prepend,
         test_setup, teardown, NULL},
        {"set, add, flush, set",
         test_set_add_flush_set,
         test_setup, teardown, NULL},
        {"set, add, incr, add",
         test_set_add_incr_add,
         test_setup, teardown, NULL},
        {"set, add, incr, append",
         test_set_add_incr_append,
         test_setup, teardown, NULL},
        {"set, add, incr, decr",
         test_set_add_incr_decr,
         test_setup, teardown, NULL},
        {"set, add, incr, decrWithDefault",
         test_set_add_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, incr, delay",
         test_set_add_incr_delay,
         test_setup, teardown, NULL},
        {"set, add, incr, delete",
         test_set_add_incr_delete,
         test_setup, teardown, NULL},
        {"set, add, incr, flush",
         test_set_add_incr_flush,
         test_setup, teardown, NULL},
        {"set, add, incr, incr",
         test_set_add_incr_incr,
         test_setup, teardown, NULL},
        {"set, add, incr, incrWithDefault",
         test_set_add_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, incr, prepend",
         test_set_add_incr_prepend,
         test_setup, teardown, NULL},
        {"set, add, incr, set",
         test_set_add_incr_set,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, add",
         test_set_add_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, append",
         test_set_add_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, decr",
         test_set_add_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, decrWithDefault",
         test_set_add_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, delay",
         test_set_add_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, delete",
         test_set_add_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, flush",
         test_set_add_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, incr",
         test_set_add_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, incrWithDefault",
         test_set_add_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, prepend",
         test_set_add_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, add, incrWithDefault, set",
         test_set_add_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, add, prepend, add",
         test_set_add_prepend_add,
         test_setup, teardown, NULL},
        {"set, add, prepend, append",
         test_set_add_prepend_append,
         test_setup, teardown, NULL},
        {"set, add, prepend, decr",
         test_set_add_prepend_decr,
         test_setup, teardown, NULL},
        {"set, add, prepend, decrWithDefault",
         test_set_add_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, prepend, delay",
         test_set_add_prepend_delay,
         test_setup, teardown, NULL},
        {"set, add, prepend, delete",
         test_set_add_prepend_delete,
         test_setup, teardown, NULL},
        {"set, add, prepend, flush",
         test_set_add_prepend_flush,
         test_setup, teardown, NULL},
        {"set, add, prepend, incr",
         test_set_add_prepend_incr,
         test_setup, teardown, NULL},
        {"set, add, prepend, incrWithDefault",
         test_set_add_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, prepend, prepend",
         test_set_add_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, add, prepend, set",
         test_set_add_prepend_set,
         test_setup, teardown, NULL},
        {"set, add, set, add",
         test_set_add_set_add,
         test_setup, teardown, NULL},
        {"set, add, set, append",
         test_set_add_set_append,
         test_setup, teardown, NULL},
        {"set, add, set, decr",
         test_set_add_set_decr,
         test_setup, teardown, NULL},
        {"set, add, set, decrWithDefault",
         test_set_add_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, set, delay",
         test_set_add_set_delay,
         test_setup, teardown, NULL},
        {"set, add, set, delete",
         test_set_add_set_delete,
         test_setup, teardown, NULL},
        {"set, add, set, flush",
         test_set_add_set_flush,
         test_setup, teardown, NULL},
        {"set, add, set, incr",
         test_set_add_set_incr,
         test_setup, teardown, NULL},
        {"set, add, set, incrWithDefault",
         test_set_add_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, add, set, prepend",
         test_set_add_set_prepend,
         test_setup, teardown, NULL},
        {"set, add, set, set",
         test_set_add_set_set,
         test_setup, teardown, NULL},
        {"set, append, add, add",
         test_set_append_add_add,
         test_setup, teardown, NULL},
        {"set, append, add, append",
         test_set_append_add_append,
         test_setup, teardown, NULL},
        {"set, append, add, decr",
         test_set_append_add_decr,
         test_setup, teardown, NULL},
        {"set, append, add, decrWithDefault",
         test_set_append_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, add, delay",
         test_set_append_add_delay,
         test_setup, teardown, NULL},
        {"set, append, add, delete",
         test_set_append_add_delete,
         test_setup, teardown, NULL},
        {"set, append, add, flush",
         test_set_append_add_flush,
         test_setup, teardown, NULL},
        {"set, append, add, incr",
         test_set_append_add_incr,
         test_setup, teardown, NULL},
        {"set, append, add, incrWithDefault",
         test_set_append_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, add, prepend",
         test_set_append_add_prepend,
         test_setup, teardown, NULL},
        {"set, append, add, set",
         test_set_append_add_set,
         test_setup, teardown, NULL},
        {"set, append, append, add",
         test_set_append_append_add,
         test_setup, teardown, NULL},
        {"set, append, append, append",
         test_set_append_append_append,
         test_setup, teardown, NULL},
        {"set, append, append, decr",
         test_set_append_append_decr,
         test_setup, teardown, NULL},
        {"set, append, append, decrWithDefault",
         test_set_append_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, append, delay",
         test_set_append_append_delay,
         test_setup, teardown, NULL},
        {"set, append, append, delete",
         test_set_append_append_delete,
         test_setup, teardown, NULL},
        {"set, append, append, flush",
         test_set_append_append_flush,
         test_setup, teardown, NULL},
        {"set, append, append, incr",
         test_set_append_append_incr,
         test_setup, teardown, NULL},
        {"set, append, append, incrWithDefault",
         test_set_append_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, append, prepend",
         test_set_append_append_prepend,
         test_setup, teardown, NULL},
        {"set, append, append, set",
         test_set_append_append_set,
         test_setup, teardown, NULL},
        {"set, append, decr, add",
         test_set_append_decr_add,
         test_setup, teardown, NULL},
        {"set, append, decr, append",
         test_set_append_decr_append,
         test_setup, teardown, NULL},
        {"set, append, decr, decr",
         test_set_append_decr_decr,
         test_setup, teardown, NULL},
        {"set, append, decr, decrWithDefault",
         test_set_append_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, decr, delay",
         test_set_append_decr_delay,
         test_setup, teardown, NULL},
        {"set, append, decr, delete",
         test_set_append_decr_delete,
         test_setup, teardown, NULL},
        {"set, append, decr, flush",
         test_set_append_decr_flush,
         test_setup, teardown, NULL},
        {"set, append, decr, incr",
         test_set_append_decr_incr,
         test_setup, teardown, NULL},
        {"set, append, decr, incrWithDefault",
         test_set_append_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, decr, prepend",
         test_set_append_decr_prepend,
         test_setup, teardown, NULL},
        {"set, append, decr, set",
         test_set_append_decr_set,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, add",
         test_set_append_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, append",
         test_set_append_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, decr",
         test_set_append_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, decrWithDefault",
         test_set_append_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, delay",
         test_set_append_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, delete",
         test_set_append_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, flush",
         test_set_append_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, incr",
         test_set_append_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, incrWithDefault",
         test_set_append_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, prepend",
         test_set_append_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, append, decrWithDefault, set",
         test_set_append_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, append, delay, add",
         test_set_append_delay_add,
         test_setup, teardown, NULL},
        {"set, append, delay, append",
         test_set_append_delay_append,
         test_setup, teardown, NULL},
        {"set, append, delay, decr",
         test_set_append_delay_decr,
         test_setup, teardown, NULL},
        {"set, append, delay, decrWithDefault",
         test_set_append_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, delay, delay",
         test_set_append_delay_delay,
         test_setup, teardown, NULL},
        {"set, append, delay, delete",
         test_set_append_delay_delete,
         test_setup, teardown, NULL},
        {"set, append, delay, flush",
         test_set_append_delay_flush,
         test_setup, teardown, NULL},
        {"set, append, delay, incr",
         test_set_append_delay_incr,
         test_setup, teardown, NULL},
        {"set, append, delay, incrWithDefault",
         test_set_append_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, delay, prepend",
         test_set_append_delay_prepend,
         test_setup, teardown, NULL},
        {"set, append, delay, set",
         test_set_append_delay_set,
         test_setup, teardown, NULL},
        {"set, append, delete, add",
         test_set_append_delete_add,
         test_setup, teardown, NULL},
        {"set, append, delete, append",
         test_set_append_delete_append,
         test_setup, teardown, NULL},
        {"set, append, delete, decr",
         test_set_append_delete_decr,
         test_setup, teardown, NULL},
        {"set, append, delete, decrWithDefault",
         test_set_append_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, delete, delay",
         test_set_append_delete_delay,
         test_setup, teardown, NULL},
        {"set, append, delete, delete",
         test_set_append_delete_delete,
         test_setup, teardown, NULL},
        {"set, append, delete, flush",
         test_set_append_delete_flush,
         test_setup, teardown, NULL},
        {"set, append, delete, incr",
         test_set_append_delete_incr,
         test_setup, teardown, NULL},
        {"set, append, delete, incrWithDefault",
         test_set_append_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, delete, prepend",
         test_set_append_delete_prepend,
         test_setup, teardown, NULL},
        {"set, append, delete, set",
         test_set_append_delete_set,
         test_setup, teardown, NULL},
        {"set, append, flush, add",
         test_set_append_flush_add,
         test_setup, teardown, NULL},
        {"set, append, flush, append",
         test_set_append_flush_append,
         test_setup, teardown, NULL},
        {"set, append, flush, decr",
         test_set_append_flush_decr,
         test_setup, teardown, NULL},
        {"set, append, flush, decrWithDefault",
         test_set_append_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, flush, delay",
         test_set_append_flush_delay,
         test_setup, teardown, NULL},
        {"set, append, flush, delete",
         test_set_append_flush_delete,
         test_setup, teardown, NULL},
        {"set, append, flush, flush",
         test_set_append_flush_flush,
         test_setup, teardown, NULL},
        {"set, append, flush, incr",
         test_set_append_flush_incr,
         test_setup, teardown, NULL},
        {"set, append, flush, incrWithDefault",
         test_set_append_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, flush, prepend",
         test_set_append_flush_prepend,
         test_setup, teardown, NULL},
        {"set, append, flush, set",
         test_set_append_flush_set,
         test_setup, teardown, NULL},
        {"set, append, incr, add",
         test_set_append_incr_add,
         test_setup, teardown, NULL},
        {"set, append, incr, append",
         test_set_append_incr_append,
         test_setup, teardown, NULL},
        {"set, append, incr, decr",
         test_set_append_incr_decr,
         test_setup, teardown, NULL},
        {"set, append, incr, decrWithDefault",
         test_set_append_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, incr, delay",
         test_set_append_incr_delay,
         test_setup, teardown, NULL},
        {"set, append, incr, delete",
         test_set_append_incr_delete,
         test_setup, teardown, NULL},
        {"set, append, incr, flush",
         test_set_append_incr_flush,
         test_setup, teardown, NULL},
        {"set, append, incr, incr",
         test_set_append_incr_incr,
         test_setup, teardown, NULL},
        {"set, append, incr, incrWithDefault",
         test_set_append_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, incr, prepend",
         test_set_append_incr_prepend,
         test_setup, teardown, NULL},
        {"set, append, incr, set",
         test_set_append_incr_set,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, add",
         test_set_append_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, append",
         test_set_append_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, decr",
         test_set_append_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, decrWithDefault",
         test_set_append_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, delay",
         test_set_append_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, delete",
         test_set_append_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, flush",
         test_set_append_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, incr",
         test_set_append_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, incrWithDefault",
         test_set_append_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, prepend",
         test_set_append_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, append, incrWithDefault, set",
         test_set_append_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, append, prepend, add",
         test_set_append_prepend_add,
         test_setup, teardown, NULL},
        {"set, append, prepend, append",
         test_set_append_prepend_append,
         test_setup, teardown, NULL},
        {"set, append, prepend, decr",
         test_set_append_prepend_decr,
         test_setup, teardown, NULL},
        {"set, append, prepend, decrWithDefault",
         test_set_append_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, prepend, delay",
         test_set_append_prepend_delay,
         test_setup, teardown, NULL},
        {"set, append, prepend, delete",
         test_set_append_prepend_delete,
         test_setup, teardown, NULL},
        {"set, append, prepend, flush",
         test_set_append_prepend_flush,
         test_setup, teardown, NULL},
        {"set, append, prepend, incr",
         test_set_append_prepend_incr,
         test_setup, teardown, NULL},
        {"set, append, prepend, incrWithDefault",
         test_set_append_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, prepend, prepend",
         test_set_append_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, append, prepend, set",
         test_set_append_prepend_set,
         test_setup, teardown, NULL},
        {"set, append, set, add",
         test_set_append_set_add,
         test_setup, teardown, NULL},
        {"set, append, set, append",
         test_set_append_set_append,
         test_setup, teardown, NULL},
        {"set, append, set, decr",
         test_set_append_set_decr,
         test_setup, teardown, NULL},
        {"set, append, set, decrWithDefault",
         test_set_append_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, set, delay",
         test_set_append_set_delay,
         test_setup, teardown, NULL},
        {"set, append, set, delete",
         test_set_append_set_delete,
         test_setup, teardown, NULL},
        {"set, append, set, flush",
         test_set_append_set_flush,
         test_setup, teardown, NULL},
        {"set, append, set, incr",
         test_set_append_set_incr,
         test_setup, teardown, NULL},
        {"set, append, set, incrWithDefault",
         test_set_append_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, append, set, prepend",
         test_set_append_set_prepend,
         test_setup, teardown, NULL},
        {"set, append, set, set",
         test_set_append_set_set,
         test_setup, teardown, NULL},
        {"set, decr, add, add",
         test_set_decr_add_add,
         test_setup, teardown, NULL},
        {"set, decr, add, append",
         test_set_decr_add_append,
         test_setup, teardown, NULL},
        {"set, decr, add, decr",
         test_set_decr_add_decr,
         test_setup, teardown, NULL},
        {"set, decr, add, decrWithDefault",
         test_set_decr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, add, delay",
         test_set_decr_add_delay,
         test_setup, teardown, NULL},
        {"set, decr, add, delete",
         test_set_decr_add_delete,
         test_setup, teardown, NULL},
        {"set, decr, add, flush",
         test_set_decr_add_flush,
         test_setup, teardown, NULL},
        {"set, decr, add, incr",
         test_set_decr_add_incr,
         test_setup, teardown, NULL},
        {"set, decr, add, incrWithDefault",
         test_set_decr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, add, prepend",
         test_set_decr_add_prepend,
         test_setup, teardown, NULL},
        {"set, decr, add, set",
         test_set_decr_add_set,
         test_setup, teardown, NULL},
        {"set, decr, append, add",
         test_set_decr_append_add,
         test_setup, teardown, NULL},
        {"set, decr, append, append",
         test_set_decr_append_append,
         test_setup, teardown, NULL},
        {"set, decr, append, decr",
         test_set_decr_append_decr,
         test_setup, teardown, NULL},
        {"set, decr, append, decrWithDefault",
         test_set_decr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, append, delay",
         test_set_decr_append_delay,
         test_setup, teardown, NULL},
        {"set, decr, append, delete",
         test_set_decr_append_delete,
         test_setup, teardown, NULL},
        {"set, decr, append, flush",
         test_set_decr_append_flush,
         test_setup, teardown, NULL},
        {"set, decr, append, incr",
         test_set_decr_append_incr,
         test_setup, teardown, NULL},
        {"set, decr, append, incrWithDefault",
         test_set_decr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, append, prepend",
         test_set_decr_append_prepend,
         test_setup, teardown, NULL},
        {"set, decr, append, set",
         test_set_decr_append_set,
         test_setup, teardown, NULL},
        {"set, decr, decr, add",
         test_set_decr_decr_add,
         test_setup, teardown, NULL},
        {"set, decr, decr, append",
         test_set_decr_decr_append,
         test_setup, teardown, NULL},
        {"set, decr, decr, decr",
         test_set_decr_decr_decr,
         test_setup, teardown, NULL},
        {"set, decr, decr, decrWithDefault",
         test_set_decr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, decr, delay",
         test_set_decr_decr_delay,
         test_setup, teardown, NULL},
        {"set, decr, decr, delete",
         test_set_decr_decr_delete,
         test_setup, teardown, NULL},
        {"set, decr, decr, flush",
         test_set_decr_decr_flush,
         test_setup, teardown, NULL},
        {"set, decr, decr, incr",
         test_set_decr_decr_incr,
         test_setup, teardown, NULL},
        {"set, decr, decr, incrWithDefault",
         test_set_decr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, decr, prepend",
         test_set_decr_decr_prepend,
         test_setup, teardown, NULL},
        {"set, decr, decr, set",
         test_set_decr_decr_set,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, add",
         test_set_decr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, append",
         test_set_decr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, decr",
         test_set_decr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, decrWithDefault",
         test_set_decr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, delay",
         test_set_decr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, delete",
         test_set_decr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, flush",
         test_set_decr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, incr",
         test_set_decr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, incrWithDefault",
         test_set_decr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, prepend",
         test_set_decr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, decr, decrWithDefault, set",
         test_set_decr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, decr, delay, add",
         test_set_decr_delay_add,
         test_setup, teardown, NULL},
        {"set, decr, delay, append",
         test_set_decr_delay_append,
         test_setup, teardown, NULL},
        {"set, decr, delay, decr",
         test_set_decr_delay_decr,
         test_setup, teardown, NULL},
        {"set, decr, delay, decrWithDefault",
         test_set_decr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, delay, delay",
         test_set_decr_delay_delay,
         test_setup, teardown, NULL},
        {"set, decr, delay, delete",
         test_set_decr_delay_delete,
         test_setup, teardown, NULL},
        {"set, decr, delay, flush",
         test_set_decr_delay_flush,
         test_setup, teardown, NULL},
        {"set, decr, delay, incr",
         test_set_decr_delay_incr,
         test_setup, teardown, NULL},
        {"set, decr, delay, incrWithDefault",
         test_set_decr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, delay, prepend",
         test_set_decr_delay_prepend,
         test_setup, teardown, NULL},
        {"set, decr, delay, set",
         test_set_decr_delay_set,
         test_setup, teardown, NULL},
        {"set, decr, delete, add",
         test_set_decr_delete_add,
         test_setup, teardown, NULL},
        {"set, decr, delete, append",
         test_set_decr_delete_append,
         test_setup, teardown, NULL},
        {"set, decr, delete, decr",
         test_set_decr_delete_decr,
         test_setup, teardown, NULL},
        {"set, decr, delete, decrWithDefault",
         test_set_decr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, delete, delay",
         test_set_decr_delete_delay,
         test_setup, teardown, NULL},
        {"set, decr, delete, delete",
         test_set_decr_delete_delete,
         test_setup, teardown, NULL},
        {"set, decr, delete, flush",
         test_set_decr_delete_flush,
         test_setup, teardown, NULL},
        {"set, decr, delete, incr",
         test_set_decr_delete_incr,
         test_setup, teardown, NULL},
        {"set, decr, delete, incrWithDefault",
         test_set_decr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, delete, prepend",
         test_set_decr_delete_prepend,
         test_setup, teardown, NULL},
        {"set, decr, delete, set",
         test_set_decr_delete_set,
         test_setup, teardown, NULL},
        {"set, decr, flush, add",
         test_set_decr_flush_add,
         test_setup, teardown, NULL},
        {"set, decr, flush, append",
         test_set_decr_flush_append,
         test_setup, teardown, NULL},
        {"set, decr, flush, decr",
         test_set_decr_flush_decr,
         test_setup, teardown, NULL},
        {"set, decr, flush, decrWithDefault",
         test_set_decr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, flush, delay",
         test_set_decr_flush_delay,
         test_setup, teardown, NULL},
        {"set, decr, flush, delete",
         test_set_decr_flush_delete,
         test_setup, teardown, NULL},
        {"set, decr, flush, flush",
         test_set_decr_flush_flush,
         test_setup, teardown, NULL},
        {"set, decr, flush, incr",
         test_set_decr_flush_incr,
         test_setup, teardown, NULL},
        {"set, decr, flush, incrWithDefault",
         test_set_decr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, flush, prepend",
         test_set_decr_flush_prepend,
         test_setup, teardown, NULL},
        {"set, decr, flush, set",
         test_set_decr_flush_set,
         test_setup, teardown, NULL},
        {"set, decr, incr, add",
         test_set_decr_incr_add,
         test_setup, teardown, NULL},
        {"set, decr, incr, append",
         test_set_decr_incr_append,
         test_setup, teardown, NULL},
        {"set, decr, incr, decr",
         test_set_decr_incr_decr,
         test_setup, teardown, NULL},
        {"set, decr, incr, decrWithDefault",
         test_set_decr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, incr, delay",
         test_set_decr_incr_delay,
         test_setup, teardown, NULL},
        {"set, decr, incr, delete",
         test_set_decr_incr_delete,
         test_setup, teardown, NULL},
        {"set, decr, incr, flush",
         test_set_decr_incr_flush,
         test_setup, teardown, NULL},
        {"set, decr, incr, incr",
         test_set_decr_incr_incr,
         test_setup, teardown, NULL},
        {"set, decr, incr, incrWithDefault",
         test_set_decr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, incr, prepend",
         test_set_decr_incr_prepend,
         test_setup, teardown, NULL},
        {"set, decr, incr, set",
         test_set_decr_incr_set,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, add",
         test_set_decr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, append",
         test_set_decr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, decr",
         test_set_decr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, decrWithDefault",
         test_set_decr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, delay",
         test_set_decr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, delete",
         test_set_decr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, flush",
         test_set_decr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, incr",
         test_set_decr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, incrWithDefault",
         test_set_decr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, prepend",
         test_set_decr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, decr, incrWithDefault, set",
         test_set_decr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, decr, prepend, add",
         test_set_decr_prepend_add,
         test_setup, teardown, NULL},
        {"set, decr, prepend, append",
         test_set_decr_prepend_append,
         test_setup, teardown, NULL},
        {"set, decr, prepend, decr",
         test_set_decr_prepend_decr,
         test_setup, teardown, NULL},
        {"set, decr, prepend, decrWithDefault",
         test_set_decr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, prepend, delay",
         test_set_decr_prepend_delay,
         test_setup, teardown, NULL},
        {"set, decr, prepend, delete",
         test_set_decr_prepend_delete,
         test_setup, teardown, NULL},
        {"set, decr, prepend, flush",
         test_set_decr_prepend_flush,
         test_setup, teardown, NULL},
        {"set, decr, prepend, incr",
         test_set_decr_prepend_incr,
         test_setup, teardown, NULL},
        {"set, decr, prepend, incrWithDefault",
         test_set_decr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, prepend, prepend",
         test_set_decr_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, decr, prepend, set",
         test_set_decr_prepend_set,
         test_setup, teardown, NULL},
        {"set, decr, set, add",
         test_set_decr_set_add,
         test_setup, teardown, NULL},
        {"set, decr, set, append",
         test_set_decr_set_append,
         test_setup, teardown, NULL},
        {"set, decr, set, decr",
         test_set_decr_set_decr,
         test_setup, teardown, NULL},
        {"set, decr, set, decrWithDefault",
         test_set_decr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, set, delay",
         test_set_decr_set_delay,
         test_setup, teardown, NULL},
        {"set, decr, set, delete",
         test_set_decr_set_delete,
         test_setup, teardown, NULL},
        {"set, decr, set, flush",
         test_set_decr_set_flush,
         test_setup, teardown, NULL},
        {"set, decr, set, incr",
         test_set_decr_set_incr,
         test_setup, teardown, NULL},
        {"set, decr, set, incrWithDefault",
         test_set_decr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decr, set, prepend",
         test_set_decr_set_prepend,
         test_setup, teardown, NULL},
        {"set, decr, set, set",
         test_set_decr_set_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, add",
         test_set_decrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, append",
         test_set_decrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, decr",
         test_set_decrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, decrWithDefault",
         test_set_decrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, delay",
         test_set_decrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, delete",
         test_set_decrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, flush",
         test_set_decrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, incr",
         test_set_decrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, incrWithDefault",
         test_set_decrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, prepend",
         test_set_decrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, add, set",
         test_set_decrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, add",
         test_set_decrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, append",
         test_set_decrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, decr",
         test_set_decrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, decrWithDefault",
         test_set_decrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, delay",
         test_set_decrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, delete",
         test_set_decrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, flush",
         test_set_decrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, incr",
         test_set_decrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, incrWithDefault",
         test_set_decrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, prepend",
         test_set_decrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, append, set",
         test_set_decrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, add",
         test_set_decrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, append",
         test_set_decrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, decr",
         test_set_decrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, decrWithDefault",
         test_set_decrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, delay",
         test_set_decrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, delete",
         test_set_decrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, flush",
         test_set_decrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, incr",
         test_set_decrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, incrWithDefault",
         test_set_decrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, prepend",
         test_set_decrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decr, set",
         test_set_decrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, add",
         test_set_decrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, append",
         test_set_decrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, decr",
         test_set_decrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, decrWithDefault",
         test_set_decrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, delay",
         test_set_decrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, delete",
         test_set_decrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, flush",
         test_set_decrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, incr",
         test_set_decrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, incrWithDefault",
         test_set_decrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, prepend",
         test_set_decrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, decrWithDefault, set",
         test_set_decrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, add",
         test_set_decrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, append",
         test_set_decrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, decr",
         test_set_decrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, decrWithDefault",
         test_set_decrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, delay",
         test_set_decrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, delete",
         test_set_decrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, flush",
         test_set_decrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, incr",
         test_set_decrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, incrWithDefault",
         test_set_decrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, prepend",
         test_set_decrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delay, set",
         test_set_decrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, add",
         test_set_decrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, append",
         test_set_decrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, decr",
         test_set_decrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, decrWithDefault",
         test_set_decrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, delay",
         test_set_decrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, delete",
         test_set_decrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, flush",
         test_set_decrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, incr",
         test_set_decrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, incrWithDefault",
         test_set_decrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, prepend",
         test_set_decrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, delete, set",
         test_set_decrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, add",
         test_set_decrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, append",
         test_set_decrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, decr",
         test_set_decrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, decrWithDefault",
         test_set_decrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, delay",
         test_set_decrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, delete",
         test_set_decrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, flush",
         test_set_decrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, incr",
         test_set_decrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, incrWithDefault",
         test_set_decrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, prepend",
         test_set_decrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, flush, set",
         test_set_decrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, add",
         test_set_decrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, append",
         test_set_decrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, decr",
         test_set_decrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, decrWithDefault",
         test_set_decrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, delay",
         test_set_decrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, delete",
         test_set_decrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, flush",
         test_set_decrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, incr",
         test_set_decrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, incrWithDefault",
         test_set_decrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, prepend",
         test_set_decrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incr, set",
         test_set_decrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, add",
         test_set_decrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, append",
         test_set_decrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, decr",
         test_set_decrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, decrWithDefault",
         test_set_decrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, delay",
         test_set_decrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, delete",
         test_set_decrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, flush",
         test_set_decrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, incr",
         test_set_decrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, incrWithDefault",
         test_set_decrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, prepend",
         test_set_decrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, incrWithDefault, set",
         test_set_decrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, add",
         test_set_decrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, append",
         test_set_decrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, decr",
         test_set_decrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, decrWithDefault",
         test_set_decrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, delay",
         test_set_decrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, delete",
         test_set_decrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, flush",
         test_set_decrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, incr",
         test_set_decrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, incrWithDefault",
         test_set_decrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, prepend",
         test_set_decrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, prepend, set",
         test_set_decrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, add",
         test_set_decrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, append",
         test_set_decrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, decr",
         test_set_decrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, decrWithDefault",
         test_set_decrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, delay",
         test_set_decrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, delete",
         test_set_decrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, flush",
         test_set_decrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, incr",
         test_set_decrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, incrWithDefault",
         test_set_decrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, prepend",
         test_set_decrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"set, decrWithDefault, set, set",
         test_set_decrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"set, delay, add, add",
         test_set_delay_add_add,
         test_setup, teardown, NULL},
        {"set, delay, add, append",
         test_set_delay_add_append,
         test_setup, teardown, NULL},
        {"set, delay, add, decr",
         test_set_delay_add_decr,
         test_setup, teardown, NULL},
        {"set, delay, add, decrWithDefault",
         test_set_delay_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, add, delay",
         test_set_delay_add_delay,
         test_setup, teardown, NULL},
        {"set, delay, add, delete",
         test_set_delay_add_delete,
         test_setup, teardown, NULL},
        {"set, delay, add, flush",
         test_set_delay_add_flush,
         test_setup, teardown, NULL},
        {"set, delay, add, incr",
         test_set_delay_add_incr,
         test_setup, teardown, NULL},
        {"set, delay, add, incrWithDefault",
         test_set_delay_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, add, prepend",
         test_set_delay_add_prepend,
         test_setup, teardown, NULL},
        {"set, delay, add, set",
         test_set_delay_add_set,
         test_setup, teardown, NULL},
        {"set, delay, append, add",
         test_set_delay_append_add,
         test_setup, teardown, NULL},
        {"set, delay, append, append",
         test_set_delay_append_append,
         test_setup, teardown, NULL},
        {"set, delay, append, decr",
         test_set_delay_append_decr,
         test_setup, teardown, NULL},
        {"set, delay, append, decrWithDefault",
         test_set_delay_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, append, delay",
         test_set_delay_append_delay,
         test_setup, teardown, NULL},
        {"set, delay, append, delete",
         test_set_delay_append_delete,
         test_setup, teardown, NULL},
        {"set, delay, append, flush",
         test_set_delay_append_flush,
         test_setup, teardown, NULL},
        {"set, delay, append, incr",
         test_set_delay_append_incr,
         test_setup, teardown, NULL},
        {"set, delay, append, incrWithDefault",
         test_set_delay_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, append, prepend",
         test_set_delay_append_prepend,
         test_setup, teardown, NULL},
        {"set, delay, append, set",
         test_set_delay_append_set,
         test_setup, teardown, NULL},
        {"set, delay, decr, add",
         test_set_delay_decr_add,
         test_setup, teardown, NULL},
        {"set, delay, decr, append",
         test_set_delay_decr_append,
         test_setup, teardown, NULL},
        {"set, delay, decr, decr",
         test_set_delay_decr_decr,
         test_setup, teardown, NULL},
        {"set, delay, decr, decrWithDefault",
         test_set_delay_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, decr, delay",
         test_set_delay_decr_delay,
         test_setup, teardown, NULL},
        {"set, delay, decr, delete",
         test_set_delay_decr_delete,
         test_setup, teardown, NULL},
        {"set, delay, decr, flush",
         test_set_delay_decr_flush,
         test_setup, teardown, NULL},
        {"set, delay, decr, incr",
         test_set_delay_decr_incr,
         test_setup, teardown, NULL},
        {"set, delay, decr, incrWithDefault",
         test_set_delay_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, decr, prepend",
         test_set_delay_decr_prepend,
         test_setup, teardown, NULL},
        {"set, delay, decr, set",
         test_set_delay_decr_set,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, add",
         test_set_delay_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, append",
         test_set_delay_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, decr",
         test_set_delay_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, decrWithDefault",
         test_set_delay_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, delay",
         test_set_delay_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, delete",
         test_set_delay_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, flush",
         test_set_delay_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, incr",
         test_set_delay_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, incrWithDefault",
         test_set_delay_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, prepend",
         test_set_delay_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, delay, decrWithDefault, set",
         test_set_delay_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, delay, delay, add",
         test_set_delay_delay_add,
         test_setup, teardown, NULL},
        {"set, delay, delay, append",
         test_set_delay_delay_append,
         test_setup, teardown, NULL},
        {"set, delay, delay, decr",
         test_set_delay_delay_decr,
         test_setup, teardown, NULL},
        {"set, delay, delay, decrWithDefault",
         test_set_delay_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, delay, delay",
         test_set_delay_delay_delay,
         test_setup, teardown, NULL},
        {"set, delay, delay, delete",
         test_set_delay_delay_delete,
         test_setup, teardown, NULL},
        {"set, delay, delay, flush",
         test_set_delay_delay_flush,
         test_setup, teardown, NULL},
        {"set, delay, delay, incr",
         test_set_delay_delay_incr,
         test_setup, teardown, NULL},
        {"set, delay, delay, incrWithDefault",
         test_set_delay_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, delay, prepend",
         test_set_delay_delay_prepend,
         test_setup, teardown, NULL},
        {"set, delay, delay, set",
         test_set_delay_delay_set,
         test_setup, teardown, NULL},
        {"set, delay, delete, add",
         test_set_delay_delete_add,
         test_setup, teardown, NULL},
        {"set, delay, delete, append",
         test_set_delay_delete_append,
         test_setup, teardown, NULL},
        {"set, delay, delete, decr",
         test_set_delay_delete_decr,
         test_setup, teardown, NULL},
        {"set, delay, delete, decrWithDefault",
         test_set_delay_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, delete, delay",
         test_set_delay_delete_delay,
         test_setup, teardown, NULL},
        {"set, delay, delete, delete",
         test_set_delay_delete_delete,
         test_setup, teardown, NULL},
        {"set, delay, delete, flush",
         test_set_delay_delete_flush,
         test_setup, teardown, NULL},
        {"set, delay, delete, incr",
         test_set_delay_delete_incr,
         test_setup, teardown, NULL},
        {"set, delay, delete, incrWithDefault",
         test_set_delay_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, delete, prepend",
         test_set_delay_delete_prepend,
         test_setup, teardown, NULL},
        {"set, delay, delete, set",
         test_set_delay_delete_set,
         test_setup, teardown, NULL},
        {"set, delay, flush, add",
         test_set_delay_flush_add,
         test_setup, teardown, NULL},
        {"set, delay, flush, append",
         test_set_delay_flush_append,
         test_setup, teardown, NULL},
        {"set, delay, flush, decr",
         test_set_delay_flush_decr,
         test_setup, teardown, NULL},
        {"set, delay, flush, decrWithDefault",
         test_set_delay_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, flush, delay",
         test_set_delay_flush_delay,
         test_setup, teardown, NULL},
        {"set, delay, flush, delete",
         test_set_delay_flush_delete,
         test_setup, teardown, NULL},
        {"set, delay, flush, flush",
         test_set_delay_flush_flush,
         test_setup, teardown, NULL},
        {"set, delay, flush, incr",
         test_set_delay_flush_incr,
         test_setup, teardown, NULL},
        {"set, delay, flush, incrWithDefault",
         test_set_delay_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, flush, prepend",
         test_set_delay_flush_prepend,
         test_setup, teardown, NULL},
        {"set, delay, flush, set",
         test_set_delay_flush_set,
         test_setup, teardown, NULL},
        {"set, delay, incr, add",
         test_set_delay_incr_add,
         test_setup, teardown, NULL},
        {"set, delay, incr, append",
         test_set_delay_incr_append,
         test_setup, teardown, NULL},
        {"set, delay, incr, decr",
         test_set_delay_incr_decr,
         test_setup, teardown, NULL},
        {"set, delay, incr, decrWithDefault",
         test_set_delay_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, incr, delay",
         test_set_delay_incr_delay,
         test_setup, teardown, NULL},
        {"set, delay, incr, delete",
         test_set_delay_incr_delete,
         test_setup, teardown, NULL},
        {"set, delay, incr, flush",
         test_set_delay_incr_flush,
         test_setup, teardown, NULL},
        {"set, delay, incr, incr",
         test_set_delay_incr_incr,
         test_setup, teardown, NULL},
        {"set, delay, incr, incrWithDefault",
         test_set_delay_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, incr, prepend",
         test_set_delay_incr_prepend,
         test_setup, teardown, NULL},
        {"set, delay, incr, set",
         test_set_delay_incr_set,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, add",
         test_set_delay_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, append",
         test_set_delay_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, decr",
         test_set_delay_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, decrWithDefault",
         test_set_delay_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, delay",
         test_set_delay_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, delete",
         test_set_delay_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, flush",
         test_set_delay_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, incr",
         test_set_delay_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, incrWithDefault",
         test_set_delay_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, prepend",
         test_set_delay_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, delay, incrWithDefault, set",
         test_set_delay_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, delay, prepend, add",
         test_set_delay_prepend_add,
         test_setup, teardown, NULL},
        {"set, delay, prepend, append",
         test_set_delay_prepend_append,
         test_setup, teardown, NULL},
        {"set, delay, prepend, decr",
         test_set_delay_prepend_decr,
         test_setup, teardown, NULL},
        {"set, delay, prepend, decrWithDefault",
         test_set_delay_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, prepend, delay",
         test_set_delay_prepend_delay,
         test_setup, teardown, NULL},
        {"set, delay, prepend, delete",
         test_set_delay_prepend_delete,
         test_setup, teardown, NULL},
        {"set, delay, prepend, flush",
         test_set_delay_prepend_flush,
         test_setup, teardown, NULL},
        {"set, delay, prepend, incr",
         test_set_delay_prepend_incr,
         test_setup, teardown, NULL},
        {"set, delay, prepend, incrWithDefault",
         test_set_delay_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, prepend, prepend",
         test_set_delay_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, delay, prepend, set",
         test_set_delay_prepend_set,
         test_setup, teardown, NULL},
        {"set, delay, set, add",
         test_set_delay_set_add,
         test_setup, teardown, NULL},
        {"set, delay, set, append",
         test_set_delay_set_append,
         test_setup, teardown, NULL},
        {"set, delay, set, decr",
         test_set_delay_set_decr,
         test_setup, teardown, NULL},
        {"set, delay, set, decrWithDefault",
         test_set_delay_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, set, delay",
         test_set_delay_set_delay,
         test_setup, teardown, NULL},
        {"set, delay, set, delete",
         test_set_delay_set_delete,
         test_setup, teardown, NULL},
        {"set, delay, set, flush",
         test_set_delay_set_flush,
         test_setup, teardown, NULL},
        {"set, delay, set, incr",
         test_set_delay_set_incr,
         test_setup, teardown, NULL},
        {"set, delay, set, incrWithDefault",
         test_set_delay_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delay, set, prepend",
         test_set_delay_set_prepend,
         test_setup, teardown, NULL},
        {"set, delay, set, set",
         test_set_delay_set_set,
         test_setup, teardown, NULL},
        {"set, delete, add, add",
         test_set_delete_add_add,
         test_setup, teardown, NULL},
        {"set, delete, add, append",
         test_set_delete_add_append,
         test_setup, teardown, NULL},
        {"set, delete, add, decr",
         test_set_delete_add_decr,
         test_setup, teardown, NULL},
        {"set, delete, add, decrWithDefault",
         test_set_delete_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, add, delay",
         test_set_delete_add_delay,
         test_setup, teardown, NULL},
        {"set, delete, add, delete",
         test_set_delete_add_delete,
         test_setup, teardown, NULL},
        {"set, delete, add, flush",
         test_set_delete_add_flush,
         test_setup, teardown, NULL},
        {"set, delete, add, incr",
         test_set_delete_add_incr,
         test_setup, teardown, NULL},
        {"set, delete, add, incrWithDefault",
         test_set_delete_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, add, prepend",
         test_set_delete_add_prepend,
         test_setup, teardown, NULL},
        {"set, delete, add, set",
         test_set_delete_add_set,
         test_setup, teardown, NULL},
        {"set, delete, append, add",
         test_set_delete_append_add,
         test_setup, teardown, NULL},
        {"set, delete, append, append",
         test_set_delete_append_append,
         test_setup, teardown, NULL},
        {"set, delete, append, decr",
         test_set_delete_append_decr,
         test_setup, teardown, NULL},
        {"set, delete, append, decrWithDefault",
         test_set_delete_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, append, delay",
         test_set_delete_append_delay,
         test_setup, teardown, NULL},
        {"set, delete, append, delete",
         test_set_delete_append_delete,
         test_setup, teardown, NULL},
        {"set, delete, append, flush",
         test_set_delete_append_flush,
         test_setup, teardown, NULL},
        {"set, delete, append, incr",
         test_set_delete_append_incr,
         test_setup, teardown, NULL},
        {"set, delete, append, incrWithDefault",
         test_set_delete_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, append, prepend",
         test_set_delete_append_prepend,
         test_setup, teardown, NULL},
        {"set, delete, append, set",
         test_set_delete_append_set,
         test_setup, teardown, NULL},
        {"set, delete, decr, add",
         test_set_delete_decr_add,
         test_setup, teardown, NULL},
        {"set, delete, decr, append",
         test_set_delete_decr_append,
         test_setup, teardown, NULL},
        {"set, delete, decr, decr",
         test_set_delete_decr_decr,
         test_setup, teardown, NULL},
        {"set, delete, decr, decrWithDefault",
         test_set_delete_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, decr, delay",
         test_set_delete_decr_delay,
         test_setup, teardown, NULL},
        {"set, delete, decr, delete",
         test_set_delete_decr_delete,
         test_setup, teardown, NULL},
        {"set, delete, decr, flush",
         test_set_delete_decr_flush,
         test_setup, teardown, NULL},
        {"set, delete, decr, incr",
         test_set_delete_decr_incr,
         test_setup, teardown, NULL},
        {"set, delete, decr, incrWithDefault",
         test_set_delete_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, decr, prepend",
         test_set_delete_decr_prepend,
         test_setup, teardown, NULL},
        {"set, delete, decr, set",
         test_set_delete_decr_set,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, add",
         test_set_delete_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, append",
         test_set_delete_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, decr",
         test_set_delete_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, decrWithDefault",
         test_set_delete_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, delay",
         test_set_delete_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, delete",
         test_set_delete_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, flush",
         test_set_delete_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, incr",
         test_set_delete_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, incrWithDefault",
         test_set_delete_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, prepend",
         test_set_delete_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, delete, decrWithDefault, set",
         test_set_delete_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, delete, delay, add",
         test_set_delete_delay_add,
         test_setup, teardown, NULL},
        {"set, delete, delay, append",
         test_set_delete_delay_append,
         test_setup, teardown, NULL},
        {"set, delete, delay, decr",
         test_set_delete_delay_decr,
         test_setup, teardown, NULL},
        {"set, delete, delay, decrWithDefault",
         test_set_delete_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, delay, delay",
         test_set_delete_delay_delay,
         test_setup, teardown, NULL},
        {"set, delete, delay, delete",
         test_set_delete_delay_delete,
         test_setup, teardown, NULL},
        {"set, delete, delay, flush",
         test_set_delete_delay_flush,
         test_setup, teardown, NULL},
        {"set, delete, delay, incr",
         test_set_delete_delay_incr,
         test_setup, teardown, NULL},
        {"set, delete, delay, incrWithDefault",
         test_set_delete_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, delay, prepend",
         test_set_delete_delay_prepend,
         test_setup, teardown, NULL},
        {"set, delete, delay, set",
         test_set_delete_delay_set,
         test_setup, teardown, NULL},
        {"set, delete, delete, add",
         test_set_delete_delete_add,
         test_setup, teardown, NULL},
        {"set, delete, delete, append",
         test_set_delete_delete_append,
         test_setup, teardown, NULL},
        {"set, delete, delete, decr",
         test_set_delete_delete_decr,
         test_setup, teardown, NULL},
        {"set, delete, delete, decrWithDefault",
         test_set_delete_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, delete, delay",
         test_set_delete_delete_delay,
         test_setup, teardown, NULL},
        {"set, delete, delete, delete",
         test_set_delete_delete_delete,
         test_setup, teardown, NULL},
        {"set, delete, delete, flush",
         test_set_delete_delete_flush,
         test_setup, teardown, NULL},
        {"set, delete, delete, incr",
         test_set_delete_delete_incr,
         test_setup, teardown, NULL},
        {"set, delete, delete, incrWithDefault",
         test_set_delete_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, delete, prepend",
         test_set_delete_delete_prepend,
         test_setup, teardown, NULL},
        {"set, delete, delete, set",
         test_set_delete_delete_set,
         test_setup, teardown, NULL},
        {"set, delete, flush, add",
         test_set_delete_flush_add,
         test_setup, teardown, NULL},
        {"set, delete, flush, append",
         test_set_delete_flush_append,
         test_setup, teardown, NULL},
        {"set, delete, flush, decr",
         test_set_delete_flush_decr,
         test_setup, teardown, NULL},
        {"set, delete, flush, decrWithDefault",
         test_set_delete_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, flush, delay",
         test_set_delete_flush_delay,
         test_setup, teardown, NULL},
        {"set, delete, flush, delete",
         test_set_delete_flush_delete,
         test_setup, teardown, NULL},
        {"set, delete, flush, flush",
         test_set_delete_flush_flush,
         test_setup, teardown, NULL},
        {"set, delete, flush, incr",
         test_set_delete_flush_incr,
         test_setup, teardown, NULL},
        {"set, delete, flush, incrWithDefault",
         test_set_delete_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, flush, prepend",
         test_set_delete_flush_prepend,
         test_setup, teardown, NULL},
        {"set, delete, flush, set",
         test_set_delete_flush_set,
         test_setup, teardown, NULL},
        {"set, delete, incr, add",
         test_set_delete_incr_add,
         test_setup, teardown, NULL},
        {"set, delete, incr, append",
         test_set_delete_incr_append,
         test_setup, teardown, NULL},
        {"set, delete, incr, decr",
         test_set_delete_incr_decr,
         test_setup, teardown, NULL},
        {"set, delete, incr, decrWithDefault",
         test_set_delete_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, incr, delay",
         test_set_delete_incr_delay,
         test_setup, teardown, NULL},
        {"set, delete, incr, delete",
         test_set_delete_incr_delete,
         test_setup, teardown, NULL},
        {"set, delete, incr, flush",
         test_set_delete_incr_flush,
         test_setup, teardown, NULL},
        {"set, delete, incr, incr",
         test_set_delete_incr_incr,
         test_setup, teardown, NULL},
        {"set, delete, incr, incrWithDefault",
         test_set_delete_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, incr, prepend",
         test_set_delete_incr_prepend,
         test_setup, teardown, NULL},
        {"set, delete, incr, set",
         test_set_delete_incr_set,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, add",
         test_set_delete_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, append",
         test_set_delete_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, decr",
         test_set_delete_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, decrWithDefault",
         test_set_delete_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, delay",
         test_set_delete_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, delete",
         test_set_delete_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, flush",
         test_set_delete_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, incr",
         test_set_delete_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, incrWithDefault",
         test_set_delete_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, prepend",
         test_set_delete_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, delete, incrWithDefault, set",
         test_set_delete_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, delete, prepend, add",
         test_set_delete_prepend_add,
         test_setup, teardown, NULL},
        {"set, delete, prepend, append",
         test_set_delete_prepend_append,
         test_setup, teardown, NULL},
        {"set, delete, prepend, decr",
         test_set_delete_prepend_decr,
         test_setup, teardown, NULL},
        {"set, delete, prepend, decrWithDefault",
         test_set_delete_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, prepend, delay",
         test_set_delete_prepend_delay,
         test_setup, teardown, NULL},
        {"set, delete, prepend, delete",
         test_set_delete_prepend_delete,
         test_setup, teardown, NULL},
        {"set, delete, prepend, flush",
         test_set_delete_prepend_flush,
         test_setup, teardown, NULL},
        {"set, delete, prepend, incr",
         test_set_delete_prepend_incr,
         test_setup, teardown, NULL},
        {"set, delete, prepend, incrWithDefault",
         test_set_delete_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, prepend, prepend",
         test_set_delete_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, delete, prepend, set",
         test_set_delete_prepend_set,
         test_setup, teardown, NULL},
        {"set, delete, set, add",
         test_set_delete_set_add,
         test_setup, teardown, NULL},
        {"set, delete, set, append",
         test_set_delete_set_append,
         test_setup, teardown, NULL},
        {"set, delete, set, decr",
         test_set_delete_set_decr,
         test_setup, teardown, NULL},
        {"set, delete, set, decrWithDefault",
         test_set_delete_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, set, delay",
         test_set_delete_set_delay,
         test_setup, teardown, NULL},
        {"set, delete, set, delete",
         test_set_delete_set_delete,
         test_setup, teardown, NULL},
        {"set, delete, set, flush",
         test_set_delete_set_flush,
         test_setup, teardown, NULL},
        {"set, delete, set, incr",
         test_set_delete_set_incr,
         test_setup, teardown, NULL},
        {"set, delete, set, incrWithDefault",
         test_set_delete_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, delete, set, prepend",
         test_set_delete_set_prepend,
         test_setup, teardown, NULL},
        {"set, delete, set, set",
         test_set_delete_set_set,
         test_setup, teardown, NULL},
        {"set, flush, add, add",
         test_set_flush_add_add,
         test_setup, teardown, NULL},
        {"set, flush, add, append",
         test_set_flush_add_append,
         test_setup, teardown, NULL},
        {"set, flush, add, decr",
         test_set_flush_add_decr,
         test_setup, teardown, NULL},
        {"set, flush, add, decrWithDefault",
         test_set_flush_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, add, delay",
         test_set_flush_add_delay,
         test_setup, teardown, NULL},
        {"set, flush, add, delete",
         test_set_flush_add_delete,
         test_setup, teardown, NULL},
        {"set, flush, add, flush",
         test_set_flush_add_flush,
         test_setup, teardown, NULL},
        {"set, flush, add, incr",
         test_set_flush_add_incr,
         test_setup, teardown, NULL},
        {"set, flush, add, incrWithDefault",
         test_set_flush_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, add, prepend",
         test_set_flush_add_prepend,
         test_setup, teardown, NULL},
        {"set, flush, add, set",
         test_set_flush_add_set,
         test_setup, teardown, NULL},
        {"set, flush, append, add",
         test_set_flush_append_add,
         test_setup, teardown, NULL},
        {"set, flush, append, append",
         test_set_flush_append_append,
         test_setup, teardown, NULL},
        {"set, flush, append, decr",
         test_set_flush_append_decr,
         test_setup, teardown, NULL},
        {"set, flush, append, decrWithDefault",
         test_set_flush_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, append, delay",
         test_set_flush_append_delay,
         test_setup, teardown, NULL},
        {"set, flush, append, delete",
         test_set_flush_append_delete,
         test_setup, teardown, NULL},
        {"set, flush, append, flush",
         test_set_flush_append_flush,
         test_setup, teardown, NULL},
        {"set, flush, append, incr",
         test_set_flush_append_incr,
         test_setup, teardown, NULL},
        {"set, flush, append, incrWithDefault",
         test_set_flush_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, append, prepend",
         test_set_flush_append_prepend,
         test_setup, teardown, NULL},
        {"set, flush, append, set",
         test_set_flush_append_set,
         test_setup, teardown, NULL},
        {"set, flush, decr, add",
         test_set_flush_decr_add,
         test_setup, teardown, NULL},
        {"set, flush, decr, append",
         test_set_flush_decr_append,
         test_setup, teardown, NULL},
        {"set, flush, decr, decr",
         test_set_flush_decr_decr,
         test_setup, teardown, NULL},
        {"set, flush, decr, decrWithDefault",
         test_set_flush_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, decr, delay",
         test_set_flush_decr_delay,
         test_setup, teardown, NULL},
        {"set, flush, decr, delete",
         test_set_flush_decr_delete,
         test_setup, teardown, NULL},
        {"set, flush, decr, flush",
         test_set_flush_decr_flush,
         test_setup, teardown, NULL},
        {"set, flush, decr, incr",
         test_set_flush_decr_incr,
         test_setup, teardown, NULL},
        {"set, flush, decr, incrWithDefault",
         test_set_flush_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, decr, prepend",
         test_set_flush_decr_prepend,
         test_setup, teardown, NULL},
        {"set, flush, decr, set",
         test_set_flush_decr_set,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, add",
         test_set_flush_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, append",
         test_set_flush_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, decr",
         test_set_flush_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, decrWithDefault",
         test_set_flush_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, delay",
         test_set_flush_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, delete",
         test_set_flush_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, flush",
         test_set_flush_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, incr",
         test_set_flush_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, incrWithDefault",
         test_set_flush_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, prepend",
         test_set_flush_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, flush, decrWithDefault, set",
         test_set_flush_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, flush, delay, add",
         test_set_flush_delay_add,
         test_setup, teardown, NULL},
        {"set, flush, delay, append",
         test_set_flush_delay_append,
         test_setup, teardown, NULL},
        {"set, flush, delay, decr",
         test_set_flush_delay_decr,
         test_setup, teardown, NULL},
        {"set, flush, delay, decrWithDefault",
         test_set_flush_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, delay, delay",
         test_set_flush_delay_delay,
         test_setup, teardown, NULL},
        {"set, flush, delay, delete",
         test_set_flush_delay_delete,
         test_setup, teardown, NULL},
        {"set, flush, delay, flush",
         test_set_flush_delay_flush,
         test_setup, teardown, NULL},
        {"set, flush, delay, incr",
         test_set_flush_delay_incr,
         test_setup, teardown, NULL},
        {"set, flush, delay, incrWithDefault",
         test_set_flush_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, delay, prepend",
         test_set_flush_delay_prepend,
         test_setup, teardown, NULL},
        {"set, flush, delay, set",
         test_set_flush_delay_set,
         test_setup, teardown, NULL},
        {"set, flush, delete, add",
         test_set_flush_delete_add,
         test_setup, teardown, NULL},
        {"set, flush, delete, append",
         test_set_flush_delete_append,
         test_setup, teardown, NULL},
        {"set, flush, delete, decr",
         test_set_flush_delete_decr,
         test_setup, teardown, NULL},
        {"set, flush, delete, decrWithDefault",
         test_set_flush_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, delete, delay",
         test_set_flush_delete_delay,
         test_setup, teardown, NULL},
        {"set, flush, delete, delete",
         test_set_flush_delete_delete,
         test_setup, teardown, NULL},
        {"set, flush, delete, flush",
         test_set_flush_delete_flush,
         test_setup, teardown, NULL},
        {"set, flush, delete, incr",
         test_set_flush_delete_incr,
         test_setup, teardown, NULL},
        {"set, flush, delete, incrWithDefault",
         test_set_flush_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, delete, prepend",
         test_set_flush_delete_prepend,
         test_setup, teardown, NULL},
        {"set, flush, delete, set",
         test_set_flush_delete_set,
         test_setup, teardown, NULL},
        {"set, flush, flush, add",
         test_set_flush_flush_add,
         test_setup, teardown, NULL},
        {"set, flush, flush, append",
         test_set_flush_flush_append,
         test_setup, teardown, NULL},
        {"set, flush, flush, decr",
         test_set_flush_flush_decr,
         test_setup, teardown, NULL},
        {"set, flush, flush, decrWithDefault",
         test_set_flush_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, flush, delay",
         test_set_flush_flush_delay,
         test_setup, teardown, NULL},
        {"set, flush, flush, delete",
         test_set_flush_flush_delete,
         test_setup, teardown, NULL},
        {"set, flush, flush, flush",
         test_set_flush_flush_flush,
         test_setup, teardown, NULL},
        {"set, flush, flush, incr",
         test_set_flush_flush_incr,
         test_setup, teardown, NULL},
        {"set, flush, flush, incrWithDefault",
         test_set_flush_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, flush, prepend",
         test_set_flush_flush_prepend,
         test_setup, teardown, NULL},
        {"set, flush, flush, set",
         test_set_flush_flush_set,
         test_setup, teardown, NULL},
        {"set, flush, incr, add",
         test_set_flush_incr_add,
         test_setup, teardown, NULL},
        {"set, flush, incr, append",
         test_set_flush_incr_append,
         test_setup, teardown, NULL},
        {"set, flush, incr, decr",
         test_set_flush_incr_decr,
         test_setup, teardown, NULL},
        {"set, flush, incr, decrWithDefault",
         test_set_flush_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, incr, delay",
         test_set_flush_incr_delay,
         test_setup, teardown, NULL},
        {"set, flush, incr, delete",
         test_set_flush_incr_delete,
         test_setup, teardown, NULL},
        {"set, flush, incr, flush",
         test_set_flush_incr_flush,
         test_setup, teardown, NULL},
        {"set, flush, incr, incr",
         test_set_flush_incr_incr,
         test_setup, teardown, NULL},
        {"set, flush, incr, incrWithDefault",
         test_set_flush_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, incr, prepend",
         test_set_flush_incr_prepend,
         test_setup, teardown, NULL},
        {"set, flush, incr, set",
         test_set_flush_incr_set,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, add",
         test_set_flush_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, append",
         test_set_flush_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, decr",
         test_set_flush_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, decrWithDefault",
         test_set_flush_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, delay",
         test_set_flush_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, delete",
         test_set_flush_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, flush",
         test_set_flush_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, incr",
         test_set_flush_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, incrWithDefault",
         test_set_flush_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, prepend",
         test_set_flush_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, flush, incrWithDefault, set",
         test_set_flush_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, flush, prepend, add",
         test_set_flush_prepend_add,
         test_setup, teardown, NULL},
        {"set, flush, prepend, append",
         test_set_flush_prepend_append,
         test_setup, teardown, NULL},
        {"set, flush, prepend, decr",
         test_set_flush_prepend_decr,
         test_setup, teardown, NULL},
        {"set, flush, prepend, decrWithDefault",
         test_set_flush_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, prepend, delay",
         test_set_flush_prepend_delay,
         test_setup, teardown, NULL},
        {"set, flush, prepend, delete",
         test_set_flush_prepend_delete,
         test_setup, teardown, NULL},
        {"set, flush, prepend, flush",
         test_set_flush_prepend_flush,
         test_setup, teardown, NULL},
        {"set, flush, prepend, incr",
         test_set_flush_prepend_incr,
         test_setup, teardown, NULL},
        {"set, flush, prepend, incrWithDefault",
         test_set_flush_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, prepend, prepend",
         test_set_flush_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, flush, prepend, set",
         test_set_flush_prepend_set,
         test_setup, teardown, NULL},
        {"set, flush, set, add",
         test_set_flush_set_add,
         test_setup, teardown, NULL},
        {"set, flush, set, append",
         test_set_flush_set_append,
         test_setup, teardown, NULL},
        {"set, flush, set, decr",
         test_set_flush_set_decr,
         test_setup, teardown, NULL},
        {"set, flush, set, decrWithDefault",
         test_set_flush_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, set, delay",
         test_set_flush_set_delay,
         test_setup, teardown, NULL},
        {"set, flush, set, delete",
         test_set_flush_set_delete,
         test_setup, teardown, NULL},
        {"set, flush, set, flush",
         test_set_flush_set_flush,
         test_setup, teardown, NULL},
        {"set, flush, set, incr",
         test_set_flush_set_incr,
         test_setup, teardown, NULL},
        {"set, flush, set, incrWithDefault",
         test_set_flush_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, flush, set, prepend",
         test_set_flush_set_prepend,
         test_setup, teardown, NULL},
        {"set, flush, set, set",
         test_set_flush_set_set,
         test_setup, teardown, NULL},
        {"set, incr, add, add",
         test_set_incr_add_add,
         test_setup, teardown, NULL},
        {"set, incr, add, append",
         test_set_incr_add_append,
         test_setup, teardown, NULL},
        {"set, incr, add, decr",
         test_set_incr_add_decr,
         test_setup, teardown, NULL},
        {"set, incr, add, decrWithDefault",
         test_set_incr_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, add, delay",
         test_set_incr_add_delay,
         test_setup, teardown, NULL},
        {"set, incr, add, delete",
         test_set_incr_add_delete,
         test_setup, teardown, NULL},
        {"set, incr, add, flush",
         test_set_incr_add_flush,
         test_setup, teardown, NULL},
        {"set, incr, add, incr",
         test_set_incr_add_incr,
         test_setup, teardown, NULL},
        {"set, incr, add, incrWithDefault",
         test_set_incr_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, add, prepend",
         test_set_incr_add_prepend,
         test_setup, teardown, NULL},
        {"set, incr, add, set",
         test_set_incr_add_set,
         test_setup, teardown, NULL},
        {"set, incr, append, add",
         test_set_incr_append_add,
         test_setup, teardown, NULL},
        {"set, incr, append, append",
         test_set_incr_append_append,
         test_setup, teardown, NULL},
        {"set, incr, append, decr",
         test_set_incr_append_decr,
         test_setup, teardown, NULL},
        {"set, incr, append, decrWithDefault",
         test_set_incr_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, append, delay",
         test_set_incr_append_delay,
         test_setup, teardown, NULL},
        {"set, incr, append, delete",
         test_set_incr_append_delete,
         test_setup, teardown, NULL},
        {"set, incr, append, flush",
         test_set_incr_append_flush,
         test_setup, teardown, NULL},
        {"set, incr, append, incr",
         test_set_incr_append_incr,
         test_setup, teardown, NULL},
        {"set, incr, append, incrWithDefault",
         test_set_incr_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, append, prepend",
         test_set_incr_append_prepend,
         test_setup, teardown, NULL},
        {"set, incr, append, set",
         test_set_incr_append_set,
         test_setup, teardown, NULL},
        {"set, incr, decr, add",
         test_set_incr_decr_add,
         test_setup, teardown, NULL},
        {"set, incr, decr, append",
         test_set_incr_decr_append,
         test_setup, teardown, NULL},
        {"set, incr, decr, decr",
         test_set_incr_decr_decr,
         test_setup, teardown, NULL},
        {"set, incr, decr, decrWithDefault",
         test_set_incr_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, decr, delay",
         test_set_incr_decr_delay,
         test_setup, teardown, NULL},
        {"set, incr, decr, delete",
         test_set_incr_decr_delete,
         test_setup, teardown, NULL},
        {"set, incr, decr, flush",
         test_set_incr_decr_flush,
         test_setup, teardown, NULL},
        {"set, incr, decr, incr",
         test_set_incr_decr_incr,
         test_setup, teardown, NULL},
        {"set, incr, decr, incrWithDefault",
         test_set_incr_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, decr, prepend",
         test_set_incr_decr_prepend,
         test_setup, teardown, NULL},
        {"set, incr, decr, set",
         test_set_incr_decr_set,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, add",
         test_set_incr_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, append",
         test_set_incr_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, decr",
         test_set_incr_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, decrWithDefault",
         test_set_incr_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, delay",
         test_set_incr_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, delete",
         test_set_incr_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, flush",
         test_set_incr_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, incr",
         test_set_incr_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, incrWithDefault",
         test_set_incr_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, prepend",
         test_set_incr_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, incr, decrWithDefault, set",
         test_set_incr_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, incr, delay, add",
         test_set_incr_delay_add,
         test_setup, teardown, NULL},
        {"set, incr, delay, append",
         test_set_incr_delay_append,
         test_setup, teardown, NULL},
        {"set, incr, delay, decr",
         test_set_incr_delay_decr,
         test_setup, teardown, NULL},
        {"set, incr, delay, decrWithDefault",
         test_set_incr_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, delay, delay",
         test_set_incr_delay_delay,
         test_setup, teardown, NULL},
        {"set, incr, delay, delete",
         test_set_incr_delay_delete,
         test_setup, teardown, NULL},
        {"set, incr, delay, flush",
         test_set_incr_delay_flush,
         test_setup, teardown, NULL},
        {"set, incr, delay, incr",
         test_set_incr_delay_incr,
         test_setup, teardown, NULL},
        {"set, incr, delay, incrWithDefault",
         test_set_incr_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, delay, prepend",
         test_set_incr_delay_prepend,
         test_setup, teardown, NULL},
        {"set, incr, delay, set",
         test_set_incr_delay_set,
         test_setup, teardown, NULL},
        {"set, incr, delete, add",
         test_set_incr_delete_add,
         test_setup, teardown, NULL},
        {"set, incr, delete, append",
         test_set_incr_delete_append,
         test_setup, teardown, NULL},
        {"set, incr, delete, decr",
         test_set_incr_delete_decr,
         test_setup, teardown, NULL},
        {"set, incr, delete, decrWithDefault",
         test_set_incr_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, delete, delay",
         test_set_incr_delete_delay,
         test_setup, teardown, NULL},
        {"set, incr, delete, delete",
         test_set_incr_delete_delete,
         test_setup, teardown, NULL},
        {"set, incr, delete, flush",
         test_set_incr_delete_flush,
         test_setup, teardown, NULL},
        {"set, incr, delete, incr",
         test_set_incr_delete_incr,
         test_setup, teardown, NULL},
        {"set, incr, delete, incrWithDefault",
         test_set_incr_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, delete, prepend",
         test_set_incr_delete_prepend,
         test_setup, teardown, NULL},
        {"set, incr, delete, set",
         test_set_incr_delete_set,
         test_setup, teardown, NULL},
        {"set, incr, flush, add",
         test_set_incr_flush_add,
         test_setup, teardown, NULL},
        {"set, incr, flush, append",
         test_set_incr_flush_append,
         test_setup, teardown, NULL},
        {"set, incr, flush, decr",
         test_set_incr_flush_decr,
         test_setup, teardown, NULL},
        {"set, incr, flush, decrWithDefault",
         test_set_incr_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, flush, delay",
         test_set_incr_flush_delay,
         test_setup, teardown, NULL},
        {"set, incr, flush, delete",
         test_set_incr_flush_delete,
         test_setup, teardown, NULL},
        {"set, incr, flush, flush",
         test_set_incr_flush_flush,
         test_setup, teardown, NULL},
        {"set, incr, flush, incr",
         test_set_incr_flush_incr,
         test_setup, teardown, NULL},
        {"set, incr, flush, incrWithDefault",
         test_set_incr_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, flush, prepend",
         test_set_incr_flush_prepend,
         test_setup, teardown, NULL},
        {"set, incr, flush, set",
         test_set_incr_flush_set,
         test_setup, teardown, NULL},
        {"set, incr, incr, add",
         test_set_incr_incr_add,
         test_setup, teardown, NULL},
        {"set, incr, incr, append",
         test_set_incr_incr_append,
         test_setup, teardown, NULL},
        {"set, incr, incr, decr",
         test_set_incr_incr_decr,
         test_setup, teardown, NULL},
        {"set, incr, incr, decrWithDefault",
         test_set_incr_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, incr, delay",
         test_set_incr_incr_delay,
         test_setup, teardown, NULL},
        {"set, incr, incr, delete",
         test_set_incr_incr_delete,
         test_setup, teardown, NULL},
        {"set, incr, incr, flush",
         test_set_incr_incr_flush,
         test_setup, teardown, NULL},
        {"set, incr, incr, incr",
         test_set_incr_incr_incr,
         test_setup, teardown, NULL},
        {"set, incr, incr, incrWithDefault",
         test_set_incr_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, incr, prepend",
         test_set_incr_incr_prepend,
         test_setup, teardown, NULL},
        {"set, incr, incr, set",
         test_set_incr_incr_set,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, add",
         test_set_incr_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, append",
         test_set_incr_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, decr",
         test_set_incr_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, decrWithDefault",
         test_set_incr_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, delay",
         test_set_incr_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, delete",
         test_set_incr_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, flush",
         test_set_incr_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, incr",
         test_set_incr_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, incrWithDefault",
         test_set_incr_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, prepend",
         test_set_incr_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, incr, incrWithDefault, set",
         test_set_incr_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, incr, prepend, add",
         test_set_incr_prepend_add,
         test_setup, teardown, NULL},
        {"set, incr, prepend, append",
         test_set_incr_prepend_append,
         test_setup, teardown, NULL},
        {"set, incr, prepend, decr",
         test_set_incr_prepend_decr,
         test_setup, teardown, NULL},
        {"set, incr, prepend, decrWithDefault",
         test_set_incr_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, prepend, delay",
         test_set_incr_prepend_delay,
         test_setup, teardown, NULL},
        {"set, incr, prepend, delete",
         test_set_incr_prepend_delete,
         test_setup, teardown, NULL},
        {"set, incr, prepend, flush",
         test_set_incr_prepend_flush,
         test_setup, teardown, NULL},
        {"set, incr, prepend, incr",
         test_set_incr_prepend_incr,
         test_setup, teardown, NULL},
        {"set, incr, prepend, incrWithDefault",
         test_set_incr_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, prepend, prepend",
         test_set_incr_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, incr, prepend, set",
         test_set_incr_prepend_set,
         test_setup, teardown, NULL},
        {"set, incr, set, add",
         test_set_incr_set_add,
         test_setup, teardown, NULL},
        {"set, incr, set, append",
         test_set_incr_set_append,
         test_setup, teardown, NULL},
        {"set, incr, set, decr",
         test_set_incr_set_decr,
         test_setup, teardown, NULL},
        {"set, incr, set, decrWithDefault",
         test_set_incr_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, set, delay",
         test_set_incr_set_delay,
         test_setup, teardown, NULL},
        {"set, incr, set, delete",
         test_set_incr_set_delete,
         test_setup, teardown, NULL},
        {"set, incr, set, flush",
         test_set_incr_set_flush,
         test_setup, teardown, NULL},
        {"set, incr, set, incr",
         test_set_incr_set_incr,
         test_setup, teardown, NULL},
        {"set, incr, set, incrWithDefault",
         test_set_incr_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incr, set, prepend",
         test_set_incr_set_prepend,
         test_setup, teardown, NULL},
        {"set, incr, set, set",
         test_set_incr_set_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, add",
         test_set_incrWithDefault_add_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, append",
         test_set_incrWithDefault_add_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, decr",
         test_set_incrWithDefault_add_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, decrWithDefault",
         test_set_incrWithDefault_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, delay",
         test_set_incrWithDefault_add_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, delete",
         test_set_incrWithDefault_add_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, flush",
         test_set_incrWithDefault_add_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, incr",
         test_set_incrWithDefault_add_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, incrWithDefault",
         test_set_incrWithDefault_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, prepend",
         test_set_incrWithDefault_add_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, add, set",
         test_set_incrWithDefault_add_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, add",
         test_set_incrWithDefault_append_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, append",
         test_set_incrWithDefault_append_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, decr",
         test_set_incrWithDefault_append_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, decrWithDefault",
         test_set_incrWithDefault_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, delay",
         test_set_incrWithDefault_append_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, delete",
         test_set_incrWithDefault_append_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, flush",
         test_set_incrWithDefault_append_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, incr",
         test_set_incrWithDefault_append_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, incrWithDefault",
         test_set_incrWithDefault_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, prepend",
         test_set_incrWithDefault_append_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, append, set",
         test_set_incrWithDefault_append_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, add",
         test_set_incrWithDefault_decr_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, append",
         test_set_incrWithDefault_decr_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, decr",
         test_set_incrWithDefault_decr_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, decrWithDefault",
         test_set_incrWithDefault_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, delay",
         test_set_incrWithDefault_decr_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, delete",
         test_set_incrWithDefault_decr_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, flush",
         test_set_incrWithDefault_decr_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, incr",
         test_set_incrWithDefault_decr_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, incrWithDefault",
         test_set_incrWithDefault_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, prepend",
         test_set_incrWithDefault_decr_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decr, set",
         test_set_incrWithDefault_decr_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, add",
         test_set_incrWithDefault_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, append",
         test_set_incrWithDefault_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, decr",
         test_set_incrWithDefault_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, decrWithDefault",
         test_set_incrWithDefault_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, delay",
         test_set_incrWithDefault_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, delete",
         test_set_incrWithDefault_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, flush",
         test_set_incrWithDefault_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, incr",
         test_set_incrWithDefault_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, incrWithDefault",
         test_set_incrWithDefault_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, prepend",
         test_set_incrWithDefault_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, decrWithDefault, set",
         test_set_incrWithDefault_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, add",
         test_set_incrWithDefault_delay_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, append",
         test_set_incrWithDefault_delay_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, decr",
         test_set_incrWithDefault_delay_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, decrWithDefault",
         test_set_incrWithDefault_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, delay",
         test_set_incrWithDefault_delay_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, delete",
         test_set_incrWithDefault_delay_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, flush",
         test_set_incrWithDefault_delay_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, incr",
         test_set_incrWithDefault_delay_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, incrWithDefault",
         test_set_incrWithDefault_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, prepend",
         test_set_incrWithDefault_delay_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delay, set",
         test_set_incrWithDefault_delay_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, add",
         test_set_incrWithDefault_delete_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, append",
         test_set_incrWithDefault_delete_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, decr",
         test_set_incrWithDefault_delete_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, decrWithDefault",
         test_set_incrWithDefault_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, delay",
         test_set_incrWithDefault_delete_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, delete",
         test_set_incrWithDefault_delete_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, flush",
         test_set_incrWithDefault_delete_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, incr",
         test_set_incrWithDefault_delete_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, incrWithDefault",
         test_set_incrWithDefault_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, prepend",
         test_set_incrWithDefault_delete_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, delete, set",
         test_set_incrWithDefault_delete_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, add",
         test_set_incrWithDefault_flush_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, append",
         test_set_incrWithDefault_flush_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, decr",
         test_set_incrWithDefault_flush_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, decrWithDefault",
         test_set_incrWithDefault_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, delay",
         test_set_incrWithDefault_flush_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, delete",
         test_set_incrWithDefault_flush_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, flush",
         test_set_incrWithDefault_flush_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, incr",
         test_set_incrWithDefault_flush_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, incrWithDefault",
         test_set_incrWithDefault_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, prepend",
         test_set_incrWithDefault_flush_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, flush, set",
         test_set_incrWithDefault_flush_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, add",
         test_set_incrWithDefault_incr_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, append",
         test_set_incrWithDefault_incr_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, decr",
         test_set_incrWithDefault_incr_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, decrWithDefault",
         test_set_incrWithDefault_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, delay",
         test_set_incrWithDefault_incr_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, delete",
         test_set_incrWithDefault_incr_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, flush",
         test_set_incrWithDefault_incr_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, incr",
         test_set_incrWithDefault_incr_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, incrWithDefault",
         test_set_incrWithDefault_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, prepend",
         test_set_incrWithDefault_incr_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incr, set",
         test_set_incrWithDefault_incr_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, add",
         test_set_incrWithDefault_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, append",
         test_set_incrWithDefault_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, decr",
         test_set_incrWithDefault_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, decrWithDefault",
         test_set_incrWithDefault_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, delay",
         test_set_incrWithDefault_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, delete",
         test_set_incrWithDefault_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, flush",
         test_set_incrWithDefault_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, incr",
         test_set_incrWithDefault_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, incrWithDefault",
         test_set_incrWithDefault_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, prepend",
         test_set_incrWithDefault_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, incrWithDefault, set",
         test_set_incrWithDefault_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, add",
         test_set_incrWithDefault_prepend_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, append",
         test_set_incrWithDefault_prepend_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, decr",
         test_set_incrWithDefault_prepend_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, decrWithDefault",
         test_set_incrWithDefault_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, delay",
         test_set_incrWithDefault_prepend_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, delete",
         test_set_incrWithDefault_prepend_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, flush",
         test_set_incrWithDefault_prepend_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, incr",
         test_set_incrWithDefault_prepend_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, incrWithDefault",
         test_set_incrWithDefault_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, prepend",
         test_set_incrWithDefault_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, prepend, set",
         test_set_incrWithDefault_prepend_set,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, add",
         test_set_incrWithDefault_set_add,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, append",
         test_set_incrWithDefault_set_append,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, decr",
         test_set_incrWithDefault_set_decr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, decrWithDefault",
         test_set_incrWithDefault_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, delay",
         test_set_incrWithDefault_set_delay,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, delete",
         test_set_incrWithDefault_set_delete,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, flush",
         test_set_incrWithDefault_set_flush,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, incr",
         test_set_incrWithDefault_set_incr,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, incrWithDefault",
         test_set_incrWithDefault_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, prepend",
         test_set_incrWithDefault_set_prepend,
         test_setup, teardown, NULL},
        {"set, incrWithDefault, set, set",
         test_set_incrWithDefault_set_set,
         test_setup, teardown, NULL},
        {"set, prepend, add, add",
         test_set_prepend_add_add,
         test_setup, teardown, NULL},
        {"set, prepend, add, append",
         test_set_prepend_add_append,
         test_setup, teardown, NULL},
        {"set, prepend, add, decr",
         test_set_prepend_add_decr,
         test_setup, teardown, NULL},
        {"set, prepend, add, decrWithDefault",
         test_set_prepend_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, add, delay",
         test_set_prepend_add_delay,
         test_setup, teardown, NULL},
        {"set, prepend, add, delete",
         test_set_prepend_add_delete,
         test_setup, teardown, NULL},
        {"set, prepend, add, flush",
         test_set_prepend_add_flush,
         test_setup, teardown, NULL},
        {"set, prepend, add, incr",
         test_set_prepend_add_incr,
         test_setup, teardown, NULL},
        {"set, prepend, add, incrWithDefault",
         test_set_prepend_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, add, prepend",
         test_set_prepend_add_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, add, set",
         test_set_prepend_add_set,
         test_setup, teardown, NULL},
        {"set, prepend, append, add",
         test_set_prepend_append_add,
         test_setup, teardown, NULL},
        {"set, prepend, append, append",
         test_set_prepend_append_append,
         test_setup, teardown, NULL},
        {"set, prepend, append, decr",
         test_set_prepend_append_decr,
         test_setup, teardown, NULL},
        {"set, prepend, append, decrWithDefault",
         test_set_prepend_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, append, delay",
         test_set_prepend_append_delay,
         test_setup, teardown, NULL},
        {"set, prepend, append, delete",
         test_set_prepend_append_delete,
         test_setup, teardown, NULL},
        {"set, prepend, append, flush",
         test_set_prepend_append_flush,
         test_setup, teardown, NULL},
        {"set, prepend, append, incr",
         test_set_prepend_append_incr,
         test_setup, teardown, NULL},
        {"set, prepend, append, incrWithDefault",
         test_set_prepend_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, append, prepend",
         test_set_prepend_append_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, append, set",
         test_set_prepend_append_set,
         test_setup, teardown, NULL},
        {"set, prepend, decr, add",
         test_set_prepend_decr_add,
         test_setup, teardown, NULL},
        {"set, prepend, decr, append",
         test_set_prepend_decr_append,
         test_setup, teardown, NULL},
        {"set, prepend, decr, decr",
         test_set_prepend_decr_decr,
         test_setup, teardown, NULL},
        {"set, prepend, decr, decrWithDefault",
         test_set_prepend_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, decr, delay",
         test_set_prepend_decr_delay,
         test_setup, teardown, NULL},
        {"set, prepend, decr, delete",
         test_set_prepend_decr_delete,
         test_setup, teardown, NULL},
        {"set, prepend, decr, flush",
         test_set_prepend_decr_flush,
         test_setup, teardown, NULL},
        {"set, prepend, decr, incr",
         test_set_prepend_decr_incr,
         test_setup, teardown, NULL},
        {"set, prepend, decr, incrWithDefault",
         test_set_prepend_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, decr, prepend",
         test_set_prepend_decr_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, decr, set",
         test_set_prepend_decr_set,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, add",
         test_set_prepend_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, append",
         test_set_prepend_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, decr",
         test_set_prepend_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, decrWithDefault",
         test_set_prepend_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, delay",
         test_set_prepend_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, delete",
         test_set_prepend_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, flush",
         test_set_prepend_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, incr",
         test_set_prepend_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, incrWithDefault",
         test_set_prepend_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, prepend",
         test_set_prepend_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, decrWithDefault, set",
         test_set_prepend_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, prepend, delay, add",
         test_set_prepend_delay_add,
         test_setup, teardown, NULL},
        {"set, prepend, delay, append",
         test_set_prepend_delay_append,
         test_setup, teardown, NULL},
        {"set, prepend, delay, decr",
         test_set_prepend_delay_decr,
         test_setup, teardown, NULL},
        {"set, prepend, delay, decrWithDefault",
         test_set_prepend_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, delay, delay",
         test_set_prepend_delay_delay,
         test_setup, teardown, NULL},
        {"set, prepend, delay, delete",
         test_set_prepend_delay_delete,
         test_setup, teardown, NULL},
        {"set, prepend, delay, flush",
         test_set_prepend_delay_flush,
         test_setup, teardown, NULL},
        {"set, prepend, delay, incr",
         test_set_prepend_delay_incr,
         test_setup, teardown, NULL},
        {"set, prepend, delay, incrWithDefault",
         test_set_prepend_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, delay, prepend",
         test_set_prepend_delay_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, delay, set",
         test_set_prepend_delay_set,
         test_setup, teardown, NULL},
        {"set, prepend, delete, add",
         test_set_prepend_delete_add,
         test_setup, teardown, NULL},
        {"set, prepend, delete, append",
         test_set_prepend_delete_append,
         test_setup, teardown, NULL},
        {"set, prepend, delete, decr",
         test_set_prepend_delete_decr,
         test_setup, teardown, NULL},
        {"set, prepend, delete, decrWithDefault",
         test_set_prepend_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, delete, delay",
         test_set_prepend_delete_delay,
         test_setup, teardown, NULL},
        {"set, prepend, delete, delete",
         test_set_prepend_delete_delete,
         test_setup, teardown, NULL},
        {"set, prepend, delete, flush",
         test_set_prepend_delete_flush,
         test_setup, teardown, NULL},
        {"set, prepend, delete, incr",
         test_set_prepend_delete_incr,
         test_setup, teardown, NULL},
        {"set, prepend, delete, incrWithDefault",
         test_set_prepend_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, delete, prepend",
         test_set_prepend_delete_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, delete, set",
         test_set_prepend_delete_set,
         test_setup, teardown, NULL},
        {"set, prepend, flush, add",
         test_set_prepend_flush_add,
         test_setup, teardown, NULL},
        {"set, prepend, flush, append",
         test_set_prepend_flush_append,
         test_setup, teardown, NULL},
        {"set, prepend, flush, decr",
         test_set_prepend_flush_decr,
         test_setup, teardown, NULL},
        {"set, prepend, flush, decrWithDefault",
         test_set_prepend_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, flush, delay",
         test_set_prepend_flush_delay,
         test_setup, teardown, NULL},
        {"set, prepend, flush, delete",
         test_set_prepend_flush_delete,
         test_setup, teardown, NULL},
        {"set, prepend, flush, flush",
         test_set_prepend_flush_flush,
         test_setup, teardown, NULL},
        {"set, prepend, flush, incr",
         test_set_prepend_flush_incr,
         test_setup, teardown, NULL},
        {"set, prepend, flush, incrWithDefault",
         test_set_prepend_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, flush, prepend",
         test_set_prepend_flush_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, flush, set",
         test_set_prepend_flush_set,
         test_setup, teardown, NULL},
        {"set, prepend, incr, add",
         test_set_prepend_incr_add,
         test_setup, teardown, NULL},
        {"set, prepend, incr, append",
         test_set_prepend_incr_append,
         test_setup, teardown, NULL},
        {"set, prepend, incr, decr",
         test_set_prepend_incr_decr,
         test_setup, teardown, NULL},
        {"set, prepend, incr, decrWithDefault",
         test_set_prepend_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, incr, delay",
         test_set_prepend_incr_delay,
         test_setup, teardown, NULL},
        {"set, prepend, incr, delete",
         test_set_prepend_incr_delete,
         test_setup, teardown, NULL},
        {"set, prepend, incr, flush",
         test_set_prepend_incr_flush,
         test_setup, teardown, NULL},
        {"set, prepend, incr, incr",
         test_set_prepend_incr_incr,
         test_setup, teardown, NULL},
        {"set, prepend, incr, incrWithDefault",
         test_set_prepend_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, incr, prepend",
         test_set_prepend_incr_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, incr, set",
         test_set_prepend_incr_set,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, add",
         test_set_prepend_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, append",
         test_set_prepend_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, decr",
         test_set_prepend_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, decrWithDefault",
         test_set_prepend_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, delay",
         test_set_prepend_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, delete",
         test_set_prepend_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, flush",
         test_set_prepend_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, incr",
         test_set_prepend_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, incrWithDefault",
         test_set_prepend_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, prepend",
         test_set_prepend_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, incrWithDefault, set",
         test_set_prepend_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, add",
         test_set_prepend_prepend_add,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, append",
         test_set_prepend_prepend_append,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, decr",
         test_set_prepend_prepend_decr,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, decrWithDefault",
         test_set_prepend_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, delay",
         test_set_prepend_prepend_delay,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, delete",
         test_set_prepend_prepend_delete,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, flush",
         test_set_prepend_prepend_flush,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, incr",
         test_set_prepend_prepend_incr,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, incrWithDefault",
         test_set_prepend_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, prepend",
         test_set_prepend_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, prepend, set",
         test_set_prepend_prepend_set,
         test_setup, teardown, NULL},
        {"set, prepend, set, add",
         test_set_prepend_set_add,
         test_setup, teardown, NULL},
        {"set, prepend, set, append",
         test_set_prepend_set_append,
         test_setup, teardown, NULL},
        {"set, prepend, set, decr",
         test_set_prepend_set_decr,
         test_setup, teardown, NULL},
        {"set, prepend, set, decrWithDefault",
         test_set_prepend_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, set, delay",
         test_set_prepend_set_delay,
         test_setup, teardown, NULL},
        {"set, prepend, set, delete",
         test_set_prepend_set_delete,
         test_setup, teardown, NULL},
        {"set, prepend, set, flush",
         test_set_prepend_set_flush,
         test_setup, teardown, NULL},
        {"set, prepend, set, incr",
         test_set_prepend_set_incr,
         test_setup, teardown, NULL},
        {"set, prepend, set, incrWithDefault",
         test_set_prepend_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, prepend, set, prepend",
         test_set_prepend_set_prepend,
         test_setup, teardown, NULL},
        {"set, prepend, set, set",
         test_set_prepend_set_set,
         test_setup, teardown, NULL},
        {"set, set, add, add",
         test_set_set_add_add,
         test_setup, teardown, NULL},
        {"set, set, add, append",
         test_set_set_add_append,
         test_setup, teardown, NULL},
        {"set, set, add, decr",
         test_set_set_add_decr,
         test_setup, teardown, NULL},
        {"set, set, add, decrWithDefault",
         test_set_set_add_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, add, delay",
         test_set_set_add_delay,
         test_setup, teardown, NULL},
        {"set, set, add, delete",
         test_set_set_add_delete,
         test_setup, teardown, NULL},
        {"set, set, add, flush",
         test_set_set_add_flush,
         test_setup, teardown, NULL},
        {"set, set, add, incr",
         test_set_set_add_incr,
         test_setup, teardown, NULL},
        {"set, set, add, incrWithDefault",
         test_set_set_add_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, add, prepend",
         test_set_set_add_prepend,
         test_setup, teardown, NULL},
        {"set, set, add, set",
         test_set_set_add_set,
         test_setup, teardown, NULL},
        {"set, set, append, add",
         test_set_set_append_add,
         test_setup, teardown, NULL},
        {"set, set, append, append",
         test_set_set_append_append,
         test_setup, teardown, NULL},
        {"set, set, append, decr",
         test_set_set_append_decr,
         test_setup, teardown, NULL},
        {"set, set, append, decrWithDefault",
         test_set_set_append_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, append, delay",
         test_set_set_append_delay,
         test_setup, teardown, NULL},
        {"set, set, append, delete",
         test_set_set_append_delete,
         test_setup, teardown, NULL},
        {"set, set, append, flush",
         test_set_set_append_flush,
         test_setup, teardown, NULL},
        {"set, set, append, incr",
         test_set_set_append_incr,
         test_setup, teardown, NULL},
        {"set, set, append, incrWithDefault",
         test_set_set_append_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, append, prepend",
         test_set_set_append_prepend,
         test_setup, teardown, NULL},
        {"set, set, append, set",
         test_set_set_append_set,
         test_setup, teardown, NULL},
        {"set, set, decr, add",
         test_set_set_decr_add,
         test_setup, teardown, NULL},
        {"set, set, decr, append",
         test_set_set_decr_append,
         test_setup, teardown, NULL},
        {"set, set, decr, decr",
         test_set_set_decr_decr,
         test_setup, teardown, NULL},
        {"set, set, decr, decrWithDefault",
         test_set_set_decr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, decr, delay",
         test_set_set_decr_delay,
         test_setup, teardown, NULL},
        {"set, set, decr, delete",
         test_set_set_decr_delete,
         test_setup, teardown, NULL},
        {"set, set, decr, flush",
         test_set_set_decr_flush,
         test_setup, teardown, NULL},
        {"set, set, decr, incr",
         test_set_set_decr_incr,
         test_setup, teardown, NULL},
        {"set, set, decr, incrWithDefault",
         test_set_set_decr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, decr, prepend",
         test_set_set_decr_prepend,
         test_setup, teardown, NULL},
        {"set, set, decr, set",
         test_set_set_decr_set,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, add",
         test_set_set_decrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, append",
         test_set_set_decrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, decr",
         test_set_set_decrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, decrWithDefault",
         test_set_set_decrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, delay",
         test_set_set_decrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, delete",
         test_set_set_decrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, flush",
         test_set_set_decrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, incr",
         test_set_set_decrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, incrWithDefault",
         test_set_set_decrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, prepend",
         test_set_set_decrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, set, decrWithDefault, set",
         test_set_set_decrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, set, delay, add",
         test_set_set_delay_add,
         test_setup, teardown, NULL},
        {"set, set, delay, append",
         test_set_set_delay_append,
         test_setup, teardown, NULL},
        {"set, set, delay, decr",
         test_set_set_delay_decr,
         test_setup, teardown, NULL},
        {"set, set, delay, decrWithDefault",
         test_set_set_delay_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, delay, delay",
         test_set_set_delay_delay,
         test_setup, teardown, NULL},
        {"set, set, delay, delete",
         test_set_set_delay_delete,
         test_setup, teardown, NULL},
        {"set, set, delay, flush",
         test_set_set_delay_flush,
         test_setup, teardown, NULL},
        {"set, set, delay, incr",
         test_set_set_delay_incr,
         test_setup, teardown, NULL},
        {"set, set, delay, incrWithDefault",
         test_set_set_delay_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, delay, prepend",
         test_set_set_delay_prepend,
         test_setup, teardown, NULL},
        {"set, set, delay, set",
         test_set_set_delay_set,
         test_setup, teardown, NULL},
        {"set, set, delete, add",
         test_set_set_delete_add,
         test_setup, teardown, NULL},
        {"set, set, delete, append",
         test_set_set_delete_append,
         test_setup, teardown, NULL},
        {"set, set, delete, decr",
         test_set_set_delete_decr,
         test_setup, teardown, NULL},
        {"set, set, delete, decrWithDefault",
         test_set_set_delete_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, delete, delay",
         test_set_set_delete_delay,
         test_setup, teardown, NULL},
        {"set, set, delete, delete",
         test_set_set_delete_delete,
         test_setup, teardown, NULL},
        {"set, set, delete, flush",
         test_set_set_delete_flush,
         test_setup, teardown, NULL},
        {"set, set, delete, incr",
         test_set_set_delete_incr,
         test_setup, teardown, NULL},
        {"set, set, delete, incrWithDefault",
         test_set_set_delete_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, delete, prepend",
         test_set_set_delete_prepend,
         test_setup, teardown, NULL},
        {"set, set, delete, set",
         test_set_set_delete_set,
         test_setup, teardown, NULL},
        {"set, set, flush, add",
         test_set_set_flush_add,
         test_setup, teardown, NULL},
        {"set, set, flush, append",
         test_set_set_flush_append,
         test_setup, teardown, NULL},
        {"set, set, flush, decr",
         test_set_set_flush_decr,
         test_setup, teardown, NULL},
        {"set, set, flush, decrWithDefault",
         test_set_set_flush_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, flush, delay",
         test_set_set_flush_delay,
         test_setup, teardown, NULL},
        {"set, set, flush, delete",
         test_set_set_flush_delete,
         test_setup, teardown, NULL},
        {"set, set, flush, flush",
         test_set_set_flush_flush,
         test_setup, teardown, NULL},
        {"set, set, flush, incr",
         test_set_set_flush_incr,
         test_setup, teardown, NULL},
        {"set, set, flush, incrWithDefault",
         test_set_set_flush_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, flush, prepend",
         test_set_set_flush_prepend,
         test_setup, teardown, NULL},
        {"set, set, flush, set",
         test_set_set_flush_set,
         test_setup, teardown, NULL},
        {"set, set, incr, add",
         test_set_set_incr_add,
         test_setup, teardown, NULL},
        {"set, set, incr, append",
         test_set_set_incr_append,
         test_setup, teardown, NULL},
        {"set, set, incr, decr",
         test_set_set_incr_decr,
         test_setup, teardown, NULL},
        {"set, set, incr, decrWithDefault",
         test_set_set_incr_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, incr, delay",
         test_set_set_incr_delay,
         test_setup, teardown, NULL},
        {"set, set, incr, delete",
         test_set_set_incr_delete,
         test_setup, teardown, NULL},
        {"set, set, incr, flush",
         test_set_set_incr_flush,
         test_setup, teardown, NULL},
        {"set, set, incr, incr",
         test_set_set_incr_incr,
         test_setup, teardown, NULL},
        {"set, set, incr, incrWithDefault",
         test_set_set_incr_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, incr, prepend",
         test_set_set_incr_prepend,
         test_setup, teardown, NULL},
        {"set, set, incr, set",
         test_set_set_incr_set,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, add",
         test_set_set_incrWithDefault_add,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, append",
         test_set_set_incrWithDefault_append,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, decr",
         test_set_set_incrWithDefault_decr,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, decrWithDefault",
         test_set_set_incrWithDefault_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, delay",
         test_set_set_incrWithDefault_delay,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, delete",
         test_set_set_incrWithDefault_delete,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, flush",
         test_set_set_incrWithDefault_flush,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, incr",
         test_set_set_incrWithDefault_incr,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, incrWithDefault",
         test_set_set_incrWithDefault_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, prepend",
         test_set_set_incrWithDefault_prepend,
         test_setup, teardown, NULL},
        {"set, set, incrWithDefault, set",
         test_set_set_incrWithDefault_set,
         test_setup, teardown, NULL},
        {"set, set, prepend, add",
         test_set_set_prepend_add,
         test_setup, teardown, NULL},
        {"set, set, prepend, append",
         test_set_set_prepend_append,
         test_setup, teardown, NULL},
        {"set, set, prepend, decr",
         test_set_set_prepend_decr,
         test_setup, teardown, NULL},
        {"set, set, prepend, decrWithDefault",
         test_set_set_prepend_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, prepend, delay",
         test_set_set_prepend_delay,
         test_setup, teardown, NULL},
        {"set, set, prepend, delete",
         test_set_set_prepend_delete,
         test_setup, teardown, NULL},
        {"set, set, prepend, flush",
         test_set_set_prepend_flush,
         test_setup, teardown, NULL},
        {"set, set, prepend, incr",
         test_set_set_prepend_incr,
         test_setup, teardown, NULL},
        {"set, set, prepend, incrWithDefault",
         test_set_set_prepend_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, prepend, prepend",
         test_set_set_prepend_prepend,
         test_setup, teardown, NULL},
        {"set, set, prepend, set",
         test_set_set_prepend_set,
         test_setup, teardown, NULL},
        {"set, set, set, add",
         test_set_set_set_add,
         test_setup, teardown, NULL},
        {"set, set, set, append",
         test_set_set_set_append,
         test_setup, teardown, NULL},
        {"set, set, set, decr",
         test_set_set_set_decr,
         test_setup, teardown, NULL},
        {"set, set, set, decrWithDefault",
         test_set_set_set_decrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, set, delay",
         test_set_set_set_delay,
         test_setup, teardown, NULL},
        {"set, set, set, delete",
         test_set_set_set_delete,
         test_setup, teardown, NULL},
        {"set, set, set, flush",
         test_set_set_set_flush,
         test_setup, teardown, NULL},
        {"set, set, set, incr",
         test_set_set_set_incr,
         test_setup, teardown, NULL},
        {"set, set, set, incrWithDefault",
         test_set_set_set_incrWithDefault,
         test_setup, teardown, NULL},
        {"set, set, set, prepend",
         test_set_set_set_prepend,
         test_setup, teardown, NULL},
        {NULL, NULL, NULL, NULL, NULL}
    };
    return tests;
}
