#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;
        p4aRunRow       *object;
        bool            status;

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4a_id") == -32) {
            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 (!psMetadataLookupBool(&status, md, "magic") == true) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4a_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);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4a_id") == -32) {
            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 (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, "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_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4b_id") == -32) {
            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 (!psMetadataLookupBool(&status, md, "magic") == true) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4b_id") == -32) {
            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 (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, "kind"), "a string", MAX_STRING_LENGTH)) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4b_id") == -32) {
            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 (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, "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_mean_stdev") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4c_id") == -32) {
            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 (!psMetadataLookupBool(&status, md, "magic") == true) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        if (!psMetadataLookupS32(&status, md, "p4c_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);
        }

        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, "p4c_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);
    }

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

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

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

        psFree(object);

        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, "ra1") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "decl1") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "ra2") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "decl2") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "ra3") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "decl3") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "ra4") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }
        if (!psMetadataLookupF64(&status, md, "decl4") == 64.64) {
            psFree(md);
            exit(EXIT_FAILURE);
        }

        psFree(md);
    }

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

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

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

        psFree(object);

        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 (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);
        }

        psFree(md);
    }

    exit(EXIT_SUCCESS);
}
