mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
Bug #12373393 PB2 SHOULD ALLOW TO CREATE COLLECTIONS AS SUPER SET OF EXISTING COLLECTIONS
Let CMake parse files with a ".in" suffix containing includes Added default.release.in to replace default.release Explained in README New patch: replace 'include' with '#include' to avoid accidental matches
This commit is contained in:
parent
9fb56539d0
commit
8da9950944
4 changed files with 38 additions and 0 deletions
|
@ -1314,6 +1314,7 @@ mysql-max-4.0.2-alpha-pc-linux-gnu-i686.tar.gz
|
|||
mysql-test/*.ds?
|
||||
mysql-test/*.vcproj
|
||||
mysql-test/.DS_Store
|
||||
mysql-test/collections/default.release
|
||||
mysql-test/funcs_1.log
|
||||
mysql-test/funcs_1.tar
|
||||
mysql-test/gmon.out
|
||||
|
|
|
@ -132,3 +132,26 @@ ADD_CUSTOM_TARGET(test-bt-debug
|
|||
COMMAND ${MTR_FORCE} --comment=debug --timer --skip-ndbcluster --skip-rpl --report-features ${EXP}
|
||||
)
|
||||
|
||||
# Process .in files with includes in collections/
|
||||
|
||||
MACRO(PROCESS_COLLECTION_INCLUDE collin collection)
|
||||
FILE(STRINGS ${collin} inlines)
|
||||
FOREACH(line ${inlines})
|
||||
IF(${line} MATCHES "#include .*")
|
||||
STRING(REPLACE "#include " "collections/" incfile ${line})
|
||||
FILE(READ ${incfile} contents)
|
||||
FILE(APPEND ${collection} "${contents}")
|
||||
ELSE()
|
||||
FILE(APPEND ${collection} "${line}\n")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
ENDMACRO()
|
||||
|
||||
FILE(GLOB infiles "collections/*.in")
|
||||
FOREACH(collin ${infiles})
|
||||
STRING(REPLACE ".in" "" collection ${collin})
|
||||
# Only generate file once
|
||||
IF(NOT EXISTS ${collection})
|
||||
PROCESS_COLLECTION_INCLUDE(${collin} ${collection})
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
|
|
|
@ -28,3 +28,11 @@ these steps:
|
|||
5) The commands from the collection are run line by line via execv() or
|
||||
similar system calls. They are not run as a shell script. Shell
|
||||
expansions are not guaranteed to work and most likely won't.
|
||||
|
||||
The directory may contain collections that are "super sets" of others,
|
||||
identified by a file name suffix ".in". These files may contain lines
|
||||
"#include <filename>", or lines with mysql-test-run.pl invocations.
|
||||
CMake will create a new file without the .in suffix where
|
||||
the include lines are replaced with the contents of the referred
|
||||
file. Filename is local to the collections directory, and includes do
|
||||
not nest.
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
# This file contains the old default.release, the plan is to replace that
|
||||
# with something like the below (remove space after #):
|
||||
|
||||
# include default.daily
|
||||
# include default.weekly
|
||||
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=debug --vardir=var-debug --skip-ndbcluster --skip-rpl --report-features --debug-server
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=normal --vardir=var-normal --skip-ndbcluster --report-features
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=ps --vardir=var-ps --skip-ndbcluster --ps-protocol
|
Loading…
Reference in a new issue