main(void)
{
    H5FA_create_t cparam;               /* Creation parameters for fixed array */
    farray_test_param_t tparam;         /* Testing parameters */
    farray_test_type_t curr_test;       /* Current test being worked on */
    farray_iter_type_t curr_iter;       /* Current iteration type being worked on */
    hid_t   fapl = -1;              /* File access property list for data files */
    unsigned    nerrors = 0;            /* Cumulative error count */
    time_t      curr_time;              /* Current time, for seeding random number generator */
    int     ExpressMode;            /* Test express value */
hbool_t     api_ctx_pushed = FALSE;             /* Whether API context pushed */
    hbool_t     api_ctx_pushed = FALSE;             /* Whether API context pushed */
    /* Reset library */
    h5_reset();
    fapl = h5_fileaccess();
    ExpressMode = GetTestExpress();
    if(ExpressMode > 1)
    printf("***Express test mode on.  Some tests may be skipped\n");
    /* Set the filename to use for this test (dependent on fapl) */
    h5_fixname(FILENAME[0], fapl, filename_g, sizeof(filename_g));
if(H5CX_push() < 0) FAIL_STACK_ERROR
api_ctx_pushed = TRUE;
    /* Push API context */
    if(H5CX_push() < 0) FAIL_STACK_ERROR
    api_ctx_pushed = TRUE;
    /* Seed random #'s */
    curr_time = HDtime(NULL);
    HDsrandom((unsigned)curr_time);
    /* Create an empty file to retrieve size */
    {
        hid_t   file;              /* File ID */
        if((file = H5Fcreate(filename_g, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
     */
        tparam.nelmts = MAX_NELMTS/17;
    init_cparam(&cparam, &tparam);
    /* Set the last element in the Fixed Array */
        nerrors += test_skip_elmts(fapl, &cparam, &tparam, (hsize_t)(tparam.nelmts - 1), FALSE, "skipping to last element");
    } /* end for */
    /* Verify symbol table messages are cached */
    nerrors += (h5_verify_cached_stabs(FILENAME, fapl) < 0 ? 1 : 0);
if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
api_ctx_pushed = FALSE;
    /* Pop API context */
    if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
    api_ctx_pushed = FALSE;
    if(nerrors)
        goto error;
    puts("All fixed array tests passed.");
    /* Clean up file used */
    h5_cleanup(FILENAME, fapl);
    return 0;
error:
    puts("*** TESTS FAILED ***");
    H5E_BEGIN_TRY {
    H5Pclose(fapl);
    } H5E_END_TRY;
    if(api_ctx_pushed) H5CX_pop();
    return 1;
} /* end main() */