1 /* 2 * Copyright 2016-2017 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 test_pathlen(void)20static 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 setup_tests(void)40int setup_tests(void) 41 { 42 if (!TEST_ptr(infile = test_get_argument(0))) 43 return 0; 44 45 ADD_TEST(test_pathlen); 46 return 1; 47 } 48