1# $OpenBSD: Makefile,v 1.11 2023/09/24 07:01:40 tb Exp $ 2 3OPENSSL_RUBY_TESTS = /usr/local/share/openssl-ruby-tests 4RUBY_BINREV = 32 5RUBY = ruby${RUBY_BINREV} 6 7# We work in a subdirectory of obj/ since extconf.rb generates a Makefile whose 8# name can't be customized in $PWD. An obj/Makefile in turn confuses either make 9# or bsd.*.mk. This hurts when things are in an unexpected state after a signal. 10BUILDDIR = build 11 12.if !exists(${OPENSSL_RUBY_TESTS}) 13regress: 14 @echo package openssl-ruby-tests is required for this regress 15 @echo SKIPPED 16.else 17 18REGRESS_TARGETS += openssl-ruby-test 19 20openssl-ruby-test: retest 21 22_BUILDDIR_COOKIE = .builddir 23_BUILD_COOKIE = .build 24_TEST_COOKIE = .test 25 26${_BUILDDIR_COOKIE}: 27 mkdir -p ${BUILDDIR} 28 touch $@ 29 30${_BUILD_COOKIE}: ${_BUILDDIR_COOKIE} 31 cd ${BUILDDIR} && \ 32 ${RUBY} ${OPENSSL_RUBY_TESTS}/ext/openssl/extconf.rb && \ 33 make; 34 touch $@ 35 36OPENSSL_RUBY_TESTSRC = ${OPENSSL_RUBY_TESTS}/test/openssl/test_*.rb 37${_TEST_COOKIE}: ${_BUILD_COOKIE} ${_BUILDDIR_COOKIE} 38 cd ${BUILDDIR} && \ 39 env SKIP_EXPECTED_FAILURES=true ${RUBY} -I. \ 40 -I${OPENSSL_RUBY_TESTS}/test/openssl \ 41 -I${OPENSSL_RUBY_TESTS}/lib \ 42 -e 'Dir["${OPENSSL_RUBY_TESTSRC}"].each{|f| require f}' \ 43 -- --no-use-color --no-show-detail-immediately 44 touch $@ 45 46build: ${_BUILD_COOKIE} 47test: ${_TEST_COOKIE} 48 49_MAKE = cd ${.CURDIR} && exec ${.MAKE} 50 51rebuild: 52 rm -f ${_BUILD_COOKIE} 53 ${_MAKE} build 54 55retest: 56 rm -f ${_TEST_COOKIE} 57 ${_MAKE} test 58 59.for _t in test_client_ca 60REGRESS_TARGETS += ${_t} 61REGRESS_EXPECTED_FAILURES += ${_t} 62${_t}: ${_BUILD_COOKIE} 63 cd ${BUILDDIR} && \ 64 ${RUBY} -I. -I${OPENSSL_RUBY_TESTS}/test/openssl \ 65 -I${OPENSSL_RUBY_TESTS}/lib \ 66 ${OPENSSL_RUBY_TESTS}/test/openssl/test_ssl.rb \ 67 -n ${_t} 68.endfor 69 70CLEANFILES += ${_BUILD_COOKIE} ${_TEST_COOKIE} ${_BUILDDIR_COOKIE} 71 72. if make(clean) || make(cleandir) 73. if exists(${BUILDDIR}) 74.BEGIN: 75 rm -r ${BUILDDIR} 76. endif 77. endif 78 79.PHONY: build rebuild test retest 80 81.endif 82 83.include <bsd.regress.mk> 84