Improved usage of TESTDATA with relative paths beginning with ".."
Support the common construct of a top-level test directory having a test/test.pro with: TARGET = ../tst_sometest TESTDATA = ../data1.txt ../data2.txt Prior to this change, the ".." in TESTDATA would cause the data to break out of the test's installation directory. Change-Id: I22860bf3a148f278b3f4e18b476fd151f7f0f775 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
parent
cc37a8cf41
commit
e759f9580e
@ -104,7 +104,20 @@ contains(INSTALLS, target) {
|
||||
# TESTDATA consists of the files to install (source)...
|
||||
$$tdif = $$file
|
||||
|
||||
# ... and the destination preserves the relative path
|
||||
# ... and the destination preserves the relative path.
|
||||
# Strip any leading ../ from the testdata, so that installation does not escape
|
||||
# the test's directory in the case of e.g.
|
||||
#
|
||||
# TARGET = ../tst_qprocess
|
||||
# TESTDATA = ../thing1 ../thing2
|
||||
#
|
||||
# The testdata should end up at $$[QT_INSTALL_TESTS]/tst_qprocess/thing1,
|
||||
# rather than $$[QT_INSTALL_TESTS]/tst_qprocess/../thing1.
|
||||
#
|
||||
# Note that this does not guarantee the same relative path between test binary
|
||||
# and testdata in the build and install tree, but should cover most cases.
|
||||
#
|
||||
file = $$replace(file, ^(\\.\\./)+, )
|
||||
$$tdip = $${target.path}/$$dirname(file)
|
||||
|
||||
INSTALLS += $$tdi
|
||||
|
Loading…
Reference in New Issue
Block a user