1*e7be843bSPierre Pronchery /* 2*e7be843bSPierre Pronchery * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved. 3*e7be843bSPierre Pronchery * 4*e7be843bSPierre Pronchery * Licensed under the Apache License 2.0 (the "License"). You may not use 5*e7be843bSPierre Pronchery * this file except in compliance with the License. You can obtain a copy 6*e7be843bSPierre Pronchery * in the file LICENSE in the source distribution or at 7*e7be843bSPierre Pronchery * https://www.openssl.org/source/license.html 8*e7be843bSPierre Pronchery */ 9*e7be843bSPierre Pronchery 10*e7be843bSPierre Pronchery OPT_TEST_DECLARE_USAGE("cert_file key_file\n") 11*e7be843bSPierre Pronchery 12*e7be843bSPierre Pronchery /* 13*e7be843bSPierre Pronchery * A RADIX test suite binding must define: 14*e7be843bSPierre Pronchery * 15*e7be843bSPierre Pronchery * static SCRIPT_INFO *const scripts[]; 16*e7be843bSPierre Pronchery * 17*e7be843bSPierre Pronchery * int bindings_process_init(size_t node_idx, size_t process_idx); 18*e7be843bSPierre Pronchery * void bindings_process_finish(int testresult); 19*e7be843bSPierre Pronchery * int bindings_adjust_terp_config(TERP_CONFIG *cfg); 20*e7be843bSPierre Pronchery * 21*e7be843bSPierre Pronchery */ test_script(int idx)22*e7be843bSPierre Proncherystatic int test_script(int idx) 23*e7be843bSPierre Pronchery { 24*e7be843bSPierre Pronchery SCRIPT_INFO *script_info = scripts[idx]; 25*e7be843bSPierre Pronchery int testresult; 26*e7be843bSPierre Pronchery TERP_CONFIG cfg = {0}; 27*e7be843bSPierre Pronchery 28*e7be843bSPierre Pronchery if (!TEST_true(bindings_process_init(0, 0))) 29*e7be843bSPierre Pronchery return 0; 30*e7be843bSPierre Pronchery 31*e7be843bSPierre Pronchery cfg.debug_bio = bio_err; 32*e7be843bSPierre Pronchery 33*e7be843bSPierre Pronchery if (!TEST_true(bindings_adjust_terp_config(&cfg))) 34*e7be843bSPierre Pronchery return 0; 35*e7be843bSPierre Pronchery 36*e7be843bSPierre Pronchery testresult = TERP_run(script_info, &cfg); 37*e7be843bSPierre Pronchery 38*e7be843bSPierre Pronchery if (!bindings_process_finish(testresult)) 39*e7be843bSPierre Pronchery testresult = 0; 40*e7be843bSPierre Pronchery 41*e7be843bSPierre Pronchery return testresult; 42*e7be843bSPierre Pronchery } 43*e7be843bSPierre Pronchery setup_tests(void)44*e7be843bSPierre Proncheryint setup_tests(void) 45*e7be843bSPierre Pronchery { 46*e7be843bSPierre Pronchery if (!test_skip_common_options()) { 47*e7be843bSPierre Pronchery TEST_error("Error parsing test options\n"); 48*e7be843bSPierre Pronchery return 0; 49*e7be843bSPierre Pronchery } 50*e7be843bSPierre Pronchery 51*e7be843bSPierre Pronchery cert_file = test_get_argument(0); 52*e7be843bSPierre Pronchery if (cert_file == NULL) 53*e7be843bSPierre Pronchery cert_file = "test/certs/servercert.pem"; 54*e7be843bSPierre Pronchery 55*e7be843bSPierre Pronchery key_file = test_get_argument(1); 56*e7be843bSPierre Pronchery if (key_file == NULL) 57*e7be843bSPierre Pronchery key_file = "test/certs/serverkey.pem"; 58*e7be843bSPierre Pronchery 59*e7be843bSPierre Pronchery ADD_ALL_TESTS(test_script, OSSL_NELEM(scripts)); 60*e7be843bSPierre Pronchery return 1; 61*e7be843bSPierre Pronchery } 62