diff --git a/cmake/tlcp_commands.cmake b/cmake/tlcp_commands.cmake index e7fc0121..9b8e0e49 100644 --- a/cmake/tlcp_commands.cmake +++ b/cmake/tlcp_commands.cmake @@ -15,15 +15,26 @@ if(NOT EXISTS enckey.pem) message(FATAL_ERROR "file does not exist") endif() +set(TLCP_TEST_PORT 4431) +file(REMOVE "tlcp_client.log" "tlcp_server.log") + +if(NOT WIN32) + execute_process( + COMMAND pkill -f "gmssl tlcp_server" + OUTPUT_QUIET + ERROR_QUIET + ) +endif() + if(WIN32) execute_process( - COMMAND cmd /c "start /B bin\\gmssl tlcp_server -port 4433 -cert tlcp_server_certs.pem -key signkey.pem -pass P@ssw0rd -ex_key enckey.pem -ex_pass P@ssw0rd > tlcp_server.log 2>&1" + COMMAND cmd /c "start /B bin\\gmssl tlcp_server -port ${TLCP_TEST_PORT} -cert tlcp_server_certs.pem -key signkey.pem -pass P@ssw0rd -ex_key enckey.pem -ex_pass P@ssw0rd > tlcp_server.log 2>&1" RESULT_VARIABLE SERVER_RESULT TIMEOUT 5 ) else() execute_process( - COMMAND bash -c "nohup bin/gmssl tlcp_server -port 4433 -cert tlcp_server_certs.pem -key signkey.pem -pass P@ssw0rd -ex_key enckey.pem -ex_pass P@ssw0rd > tlcp_server.log 2>&1 &" + COMMAND bash -c "nohup bin/gmssl tlcp_server -port ${TLCP_TEST_PORT} -cert tlcp_server_certs.pem -key signkey.pem -pass P@ssw0rd -ex_key enckey.pem -ex_pass P@ssw0rd > tlcp_server.log 2>&1 &" RESULT_VARIABLE SERVER_RESULT TIMEOUT 5 ) @@ -37,26 +48,43 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 2) if (WIN32) execute_process( - COMMAND cmd /c "start /B bin\\gmssl tlcp_client -host localhost -port 4433 -cacert rootcacert.pem > tlcp_client.log 2>&1" + COMMAND cmd /c "start /B bin\\gmssl tlcp_client -host localhost -port ${TLCP_TEST_PORT} -cacert rootcacert.pem > tlcp_client.log 2>&1" RESULT_VARIABLE CLIENT_RESULT TIMEOUT 5 ) else() execute_process( - COMMAND bash -c "bin/gmssl tlcp_client -host localhost -port 4433 -cacert rootcacert.pem > tlcp_client.log 2>&1" + COMMAND bash -c "bin/gmssl tlcp_client -host localhost -port ${TLCP_TEST_PORT} -cacert rootcacert.pem < /dev/null > tlcp_client.log 2>&1 &" RESULT_VARIABLE CLIENT_RESULT TIMEOUT 5 ) endif() -file(READ "tlcp_client.log" CLIENT_LOG_CONTENT) -string(FIND "${CLIENT_LOG_CONTENT}" "Connection established" FOUND_INDEX) +set(FOUND_INDEX -1) +foreach(i RANGE 1 15) + if(EXISTS "tlcp_client.log") + file(READ "tlcp_client.log" CLIENT_LOG_CONTENT) + string(FIND "${CLIENT_LOG_CONTENT}" "Connection established" FOUND_INDEX) + if(NOT ${FOUND_INDEX} EQUAL -1) + break() + endif() + endif() + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) +endforeach() + +if(NOT WIN32) + execute_process( + COMMAND pkill -f "gmssl tlcp_server" + OUTPUT_QUIET + ERROR_QUIET + ) + execute_process( + COMMAND pkill -f "gmssl tlcp_client" + OUTPUT_QUIET + ERROR_QUIET + ) +endif() if(${FOUND_INDEX} EQUAL -1) message(FATAL_ERROR "Client did not establish connection with server.") endif() - -execute_process( - COMMAND pkill -f "gmssl" -) - diff --git a/cmake/tls12_commands.cmake b/cmake/tls12_commands.cmake index 244848d4..4207a0d9 100644 --- a/cmake/tls12_commands.cmake +++ b/cmake/tls12_commands.cmake @@ -15,8 +15,17 @@ if(NOT EXISTS enckey.pem) message(FATAL_ERROR "file does not exist") endif() +set(TLS12_TEST_PORT 4432) +file(REMOVE "tls12_client.log" "tls12_server.log") + execute_process( - COMMAND bash -c "nohup bin/gmssl tls12_server -port 4333 -cert tls_server_certs.pem -key signkey.pem -pass P@ssw0rd > tls12_server.log 2>&1 &" + COMMAND pkill -f "gmssl tls12_server" + OUTPUT_QUIET + ERROR_QUIET +) + +execute_process( + COMMAND bash -c "nohup bin/gmssl tls12_server -port ${TLS12_TEST_PORT} -cert tls_server_certs.pem -key signkey.pem -pass P@ssw0rd > tls12_server.log 2>&1 &" RESULT_VARIABLE SERVER_RESULT TIMEOUT 5 ) @@ -27,19 +36,34 @@ endif() execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 2) execute_process( - COMMAND bash -c "bin/gmssl tls12_client -host localhost -port 4333 -cacert rootcacert.pem > tls12_client.log 2>&1" + COMMAND bash -c "bin/gmssl tls12_client -host localhost -port ${TLS12_TEST_PORT} -cacert rootcacert.pem < /dev/null > tls12_client.log 2>&1 &" RESULT_VARIABLE CLIENT_RESULT TIMEOUT 5 ) -file(READ "tls12_client.log" CLIENT_LOG_CONTENT) -string(FIND "${CLIENT_LOG_CONTENT}" "Connection established" FOUND_INDEX) +set(FOUND_INDEX -1) +foreach(i RANGE 1 15) + if(EXISTS "tls12_client.log") + file(READ "tls12_client.log" CLIENT_LOG_CONTENT) + string(FIND "${CLIENT_LOG_CONTENT}" "Connection established" FOUND_INDEX) + if(NOT ${FOUND_INDEX} EQUAL -1) + break() + endif() + endif() + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) +endforeach() + +execute_process( + COMMAND pkill -f "gmssl tls12_server" + OUTPUT_QUIET + ERROR_QUIET +) +execute_process( + COMMAND pkill -f "gmssl tls12_client" + OUTPUT_QUIET + ERROR_QUIET +) if(${FOUND_INDEX} EQUAL -1) message(FATAL_ERROR "Client did not establish connection with server.") endif() - -execute_process( - COMMAND pkill -f "gmssl" -) - diff --git a/cmake/tls13_commands.cmake b/cmake/tls13_commands.cmake index 8a7160a3..06e6295d 100644 --- a/cmake/tls13_commands.cmake +++ b/cmake/tls13_commands.cmake @@ -11,6 +11,9 @@ if(NOT EXISTS signkey.pem) message(FATAL_ERROR "file does not exist") endif() +set(TLS13_TEST_PORT 4433) +file(REMOVE "tls13_client.log" "tls13_server.log") + execute_process( COMMAND pkill -f "gmssl tls13_server" OUTPUT_QUIET @@ -18,7 +21,7 @@ execute_process( ) execute_process( - COMMAND bash -c "nohup bin/gmssl tls13_server -port 4443 -cert tls_server_certs.pem -key signkey.pem -pass P@ssw0rd -cipher_suite TLS_SM4_GCM_SM3 -supported_group sm2p256v1 -sig_alg sm2sig_sm3 > tls13_server.log 2>&1 &" + COMMAND bash -c "nohup bin/gmssl tls13_server -port ${TLS13_TEST_PORT} -cert tls_server_certs.pem -key signkey.pem -pass P@ssw0rd -cipher_suite TLS_SM4_GCM_SM3 -supported_group sm2p256v1 -sig_alg sm2sig_sm3 > tls13_server.log 2>&1 &" RESULT_VARIABLE SERVER_RESULT TIMEOUT 5 ) @@ -29,17 +32,33 @@ endif() execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 2) execute_process( - COMMAND bash -c "bin/gmssl tls13_client -host localhost -port 4443 -cacert rootcacert.pem -cipher_suite TLS_SM4_GCM_SM3 -supported_group sm2p256v1 -sig_alg sm2sig_sm3 > tls13_client.log 2>&1" + COMMAND bash -c "bin/gmssl tls13_client -host localhost -port ${TLS13_TEST_PORT} -cacert rootcacert.pem -cipher_suite TLS_SM4_GCM_SM3 -supported_group sm2p256v1 -sig_alg sm2sig_sm3 < /dev/null > tls13_client.log 2>&1 &" RESULT_VARIABLE CLIENT_RESULT TIMEOUT 5 ) +set(FOUND_INDEX -1) +foreach(i RANGE 1 15) + if(EXISTS "tls13_client.log") + file(READ "tls13_client.log" CLIENT_LOG_CONTENT) + string(FIND "${CLIENT_LOG_CONTENT}" "connected" FOUND_INDEX) + if(NOT ${FOUND_INDEX} EQUAL -1) + break() + endif() + endif() + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) +endforeach() + execute_process( COMMAND pkill -f "gmssl tls13_server" + OUTPUT_QUIET + ERROR_QUIET +) +execute_process( + COMMAND pkill -f "gmssl tls13_client" + OUTPUT_QUIET + ERROR_QUIET ) - -file(READ "tls13_client.log" CLIENT_LOG_CONTENT) -string(FIND "${CLIENT_LOG_CONTENT}" "connected" FOUND_INDEX) if(${FOUND_INDEX} EQUAL -1) message(FATAL_ERROR "Client did not establish connection with server.")