Switch command-line utils to new nameopt API.
[openssl.git] / test / v3ext.c
1 /*
2  * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the OpenSSL license (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10 #include <stdio.h>
11 #include <openssl/x509.h>
12 #include <openssl/x509v3.h>
13 #include <openssl/pem.h>
14 #include <openssl/err.h>
15
16 #include "testutil.h"
17
18 static const char *infile;
19
20 static int test_pathlen(void)
21 {
22     X509 *x = NULL;
23     BIO *b = NULL;
24     long pathlen;
25     int ret = 0;
26
27     if (!TEST_ptr(b = BIO_new_file(infile, "r"))
28             || !TEST_ptr(x = PEM_read_bio_X509(b, NULL, NULL, NULL))
29             || !TEST_int_eq(pathlen = X509_get_pathlen(x), 6))
30         goto end;
31
32     ret = 1;
33
34 end:
35     BIO_free(b);
36     X509_free(x);
37     return ret;
38 }
39
40 int test_main(int argc, char *argv[])
41 {
42     int ret;
43
44     if (argc != 2) {
45         TEST_error("Usage error");
46         return 0;
47     }
48     infile = argv[1];
49
50     ADD_TEST(test_pathlen);
51     ret = run_tests(argv[0]);
52     return ret;
53 }