#include <pslib.h>
#include <ippdb.h>
#include <stdlib.h>
#include <string.h>

#define MAX_STRING_LENGTH 1024

int main ()
{
    {
        psMetadata      *md;
        expTagCounterRow *object;
        bool            status;

        object = expTagCounterRowAlloc(64);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = expTagCounterMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        summitExpRow    *object;
        bool            status;

        object = summitExpRowAlloc("a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", -32);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = summitExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        summitImfileRow *object;
        bool            status;

        object = summitImfileRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = summitImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "file_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "bytes") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "md5sum"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        pzPendingExpRow *object;
        bool            status;

        object = pzPendingExpRowAlloc("a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = pzPendingExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        pzPendingImfileRow *object;
        bool            status;

        object = pzPendingImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = pzPendingImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        pzDoneExpRow    *object;
        bool            status;

        object = pzDoneExpRowAlloc("a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = pzDoneExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        pzDoneImfileRow *object;
        bool            status;

        object = pzDoneImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = pzDoneImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        newExpRow       *object;
        bool            status;

        object = newExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = newExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        newImfileRow    *object;
        bool            status;

        object = newImfileRowAlloc("a string", "a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = newImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        rawExpRow       *object;
        bool            status;

        object = rawExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = rawExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "alt") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "az") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "posang") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        rawImfileRow    *object;
        bool            status;

        object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = rawImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "alt") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "az") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "posang") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p1PendingExpRow *object;
        bool            status;

        object = p1PendingExpRowAlloc("a string", "a string", -32);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p1PendingExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p2PendingExpRow *object;
        bool            status;

        object = p2PendingExpRowAlloc("a string", "a string", -32, -32, "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p2PendingExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p2PendingImfileRow *object;
        bool            status;

        object = p2PendingImfileRowAlloc("a string", "a string", "a string", "a string", -32, -32);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p2PendingImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p2ProcessedExpRow *object;
        bool            status;

        object = p2ProcessedExpRowAlloc("a string", -32, -32, "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p2ProcessedExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p2MaskRow       *object;
        bool            status;

        object = p2MaskRowAlloc("a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p2MaskMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p2ProcessedImfileRow *object;
        bool            status;

        object = p2ProcessedImfileRowAlloc("a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -32, -32, -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p2ProcessedImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p3PendingExpRow *object;
        bool            status;

        object = p3PendingExpRowAlloc("a string", -32, -32, "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p3PendingExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p3ProcessedExpRow *object;
        bool            status;

        object = p3ProcessedExpRowAlloc("a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -32, -32, "a string", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p3ProcessedExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "sigma_ra") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "sigma_dec") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "nastro") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "zp_mean") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "zp_stdev") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p3MaskRow       *object;
        bool            status;

        object = p3MaskRowAlloc("a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p3MaskMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detRunRow       *object;
        bool            status;

        object = detRunRowAlloc(-32, -32, "a string", "a string", "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 64.64, 64.64, "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detRunMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "det_type"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "mode"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "state"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "airmass_min") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "airmass_max") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "exp_time_min") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "exp_time_max") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "ccd_temp_min") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "ccd_temp_max") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "posang_min") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "posang_max") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detInputExpRow  *object;
        bool            status;

        object = detInputExpRowAlloc(-32, -32, "a string", true);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detInputExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupBool(&status, md, "include") == true) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detProcessedImfileRow *object;
        bool            status;

        object = detProcessedImfileRowAlloc(-32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detProcessedImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detProcessedExpRow *object;
        bool            status;

        object = detProcessedExpRowAlloc(-32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detProcessedExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detStackedImfileRow *object;
        bool            status;

        object = detStackedImfileRowAlloc(-32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detStackedImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detNormalizedStatImfileRow *object;
        bool            status;

        object = detNormalizedStatImfileRowAlloc(-32, -32, "a string", 32.32, -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detNormalizedStatImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF32(&status, md, "norm") == 32.32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detNormalizedImfileRow *object;
        bool            status;

        object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detNormalizedImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detNormalizedExpRow *object;
        bool            status;

        object = detNormalizedExpRowAlloc(-32, -32, "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detNormalizedExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detResidImfileRow *object;
        bool            status;

        object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detResidImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detResidExpRow  *object;
        bool            status;

        object = detResidExpRowAlloc(-32, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", true, -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detResidExpMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupBool(&status, md, "accept") == true) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        detRunSummaryRow *object;
        bool            status;

        object = detRunSummaryRowAlloc(-32, -32, 64.64, 64.64, 64.64, true, -16);
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = detRunSummaryMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupBool(&status, md, "accept") == true) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p4RunRow        *object;
        bool            status;

        object = p4RunRowAlloc(-32, "a string", "a string", "a string", "a string", "a string", "a string", 64.64, 64.64, "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p4RunMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "survey_mode"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "state"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "input_ss"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "output_ss"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p4InputImfileRow *object;
        bool            status;

        object = p4InputImfileRowAlloc(-32, "a string", -32, "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p4InputImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p4WarpedImfileRow *object;
        bool            status;

        object = p4WarpedImfileRowAlloc(-32, "a string", -32, "a string", "a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p4WarpedImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p4StackedImfileRow *object;
        bool            status;

        object = p4StackedImfileRowAlloc(-32, "a string", "a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p4StackedImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p4DiffImfileRow *object;
        bool            status;

        object = p4DiffImfileRowAlloc(-32, "a string", -32, "a string", "a string", "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p4DiffImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    {
        psMetadata      *md;
        p4MagicMaskImfileRow *object;
        bool            status;

        object = p4MagicMaskImfileRowAlloc(-32, "a string", -32, "a string", "a string");
        if (!object) {
            exit(EXIT_FAILURE);
        }

        md = p4MagicMaskImfileMetadataFromObject(object);
        if (!md) {
            exit(EXIT_FAILURE);
        }

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

    exit(EXIT_SUCCESS);
}
