예제 #1
0
    void RunTestExToNulBuf(const TextBuf &input,
                           const TextBuf &expected,
                           size_t bufsize,
                           ib_status_t expected_rc)
    {
        char buf[bufsize];
        size_t len;
        ib_status_t rc;
        ib_flags_t result;

        rc = ExecExToNulBuf(input.GetUBuf(), input.GetLen(),
                            buf, bufsize, len,
                            result);
        if (rc == IB_ENOTIMPL) {
            return;
        }
        const char *name = TestName(IB_STROP_BUF, TYPE_EX_TO_STR);
        ASSERT_EQ(expected_rc, rc) << name;

        TextBuf output(buf);
        CheckResult(name, input,
                    expected,
                    IB_STRFLAG_NONE,
                    IB_STRFLAG_MODIFIED,
                    rc, result, output);
    }
예제 #2
0
    void RunTestCopyExToNul(const TextBuf &input, const TextBuf &expected)
    {
        ib_status_t rc;
        size_t len = input.GetLen();
        char *out;
        ib_flags_t result;

        rc = ExecCopyExToNul(input.GetUBuf(), len, &out, result);
        if (rc == IB_ENOTIMPL) {
            return;
        }
        const char *name = TestName(IB_STROP_COPY, TYPE_NUL);
        ASSERT_EQ(IB_OK, rc) << name;

        TextBuf output(out);
        CheckResult(name, input,
                    expected,
                    IB_STRFLAG_NEWBUF,
                    (IB_STRFLAG_NEWBUF | IB_STRFLAG_MODIFIED),
                    rc, result, output);
    }
예제 #3
0
    void RunTestCowEx(const TextBuf &input, const TextBuf &expected)
    {
        size_t len = input.GetLen();
        uint8_t *out;
        ib_status_t rc;
        size_t outlen;
        ib_flags_t result;

        rc = ExecCowEx(input.GetUBuf(), len, &out, outlen, result);
        if (rc == IB_ENOTIMPL) {
            return;
        }
        const char *name = TestName(IB_STROP_COW, TYPE_EX);
        ASSERT_EQ(IB_OK, rc) << name;

        TextBuf output(out, outlen);
        CheckResult(name, input,
                    expected,
                    IB_STRFLAG_ALIAS,
                    (IB_STRFLAG_NEWBUF | IB_STRFLAG_MODIFIED),
                    rc, result, output);
    }