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