security/nss/cmd/tests/baddbdir.c
author Wes Kocher <wkocher@mozilla.com>
Mon, 19 Oct 2015 16:21:44 -0700
changeset 268403 19c3ba35bcaefc29534fade508fd077e509ed194
parent 108835 699db88b5ea01fd321fe8abfe5bb071e991b120d
child 294923 178243415be60cfd4bed7adae993736ab0238f12
permissions -rw-r--r--
Backed out changeset 668563c7fab8 (bug 1214077) for build failures

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include <stdio.h>
#include <stdlib.h>

#include "nss.h"
#include "secerr.h"

/*
 * Regression test for bug 495097.
 *
 * NSS_InitReadWrite("sql:<dbdir>") should fail with SEC_ERROR_BAD_DATABASE
 * if the directory <dbdir> doesn't exist.
 */

int main()
{
    SECStatus status;
    int error;

    status = NSS_InitReadWrite("sql:/no/such/db/dir");
    if (status == SECSuccess) {
        fprintf(stderr, "NSS_InitReadWrite succeeded unexpectedly\n");
        exit(1);
    }
    error = PORT_GetError();
    if (error != SEC_ERROR_BAD_DATABASE) {
        fprintf(stderr, "NSS_InitReadWrite failed with the wrong error code: "
                "%d\n", error);
        exit(1);
    }
    printf("PASS\n");
    return 0;
}