Makefile revision 5911
127N/A# The contents of this file are subject to the terms of the 127N/A# Common Development and Distribution License (the "License"). 127N/A# You may not use this file except in compliance with the License. 127N/A# See the License for the specific language governing permissions 127N/A# and limitations under the License. 127N/A# When distributing Covered Code, include this CDDL HEADER in each 127N/A# If applicable, add the following below this CDDL HEADER, with the 127N/A# fields enclosed by brackets "[]" replaced with your own identifying 127N/A# information: Portions Copyright [yyyy] [name of copyright owner] 127N/A# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. 127N/A# This variable has no impact on perl build, it is here merely to satisfy 127N/A# "modernized" gate infrastructure. The bitness of the module is driven by the 127N/A# bitness of perl interpreter itself. That is hardcoded in 127N/A '-e "s/[0-9][0-9]* wallclock secs (.*CPU)$$/<TIMINGS REMOVED>/" ' \
'-e "s/^\(\# mysql_[a-z][a-z]* is: \).*/\1<REMOVED>/" ' \
'-e "s/^\(\# SQL_DBMS_VER is \).*/\1<REMOVED>/" ' \
'-e "s/^\(\# Driver version is \).*/\1<REMOVED>/" ' # !!!!!!!!! workaround for 22552923 # !!!!!!!!! workaround for 22552923 # For the testing we need to run mysql database first. The database needs it's # directory, which will be $(MYSQL_TEST_DATADIR). The directory will also # contain socket over which the testing will be performed. Problem is that the # path can be maximally 107 characters long. To overcome that limit, we'll # create a symlink in /tmp pointing to the directory and refer the database to # that symlink. The symlink must have random name, so that multiple tests may # be executed simultaneously. Problem is that we have to specify the symlink # name during configure. To overcome that I specify the socket name as # 'CHANGEME' and "fix" the tests once I know the name of symlink. # Second challenge is to make sure that the mysql daemon will be stopped once # the tests end (finish or are interrupted). There are three mechanisms to do # a) mysql stores it's pid to $(MYSQL_TEST_DATADIR)/pid # b) the COMPONENT_PRE_TEST_ACTION runs a background task which kills the # daemon in 10 minutes no matter what. # c) the COMPONENT_POST_TEST_ACTION kills both the mysql daemon and the # If you want to keep mysqld running for your own testing purposes, delete all # the lines containing 'kill' in COMPONENT_PRE_TEST_ACTION and # COMPONENT_POST_TEST_ACTION. Then run "gmake test" once which will both run # the DB and configure the module to use it. After that you can "cd builds/..." # and "gmake test" directly there. # Normally the noise from background jobs is sent to /dev/null so that it does # not clobber the terminal. For debugging you can leave SILENT empty which will # even turn on more output : "Prepare the testing directory and create the symlink to it"; \ : "alter the tests to use the path we just created"; \ : "Initialize mysql DB"; \ : "Run the daemon in background. --gdb makes it possible to terminate mysqld via Ctrl+C"; \ : "Now wait for the database to be online"; \ : "We were not able to bring up the database?"; \ : "Set admin password"; \ : "Run job which will kill mysqld in 10 minutes"; \