Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- commit e0ff40d66f59cb2c8c73aa396898ec89246baa40
- Author: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
- Date: Wed Oct 13 18:28:36 2010 +0200
- Add manual test for mkspecs
- diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
- index aa55f51..c659adb 100644
- --- a/qmake/generators/mac/pbuilder_pbx.cpp
- +++ b/qmake/generators/mac/pbuilder_pbx.cpp
- @@ -167,6 +167,7 @@ ProjectBuilderMakefileGenerator::writeSubDirs(QTextStream &t)
- }
- if(tmp_proj.read(fn)) {
- if(Option::debug_level) {
- + debug_msg(1, "Dumping all variables:");
- QMap<QString, QStringList> &vars = tmp_proj.variables();
- for(QMap<QString, QStringList>::Iterator it = vars.begin();
- it != vars.end(); ++it) {
- diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
- index e98831d..df05550 100644
- --- a/qmake/generators/metamakefile.cpp
- +++ b/qmake/generators/metamakefile.cpp
- @@ -217,6 +217,7 @@ BuildsMetaMakefileGenerator::write(const QString &oldpwd)
- // debugging
- if(Option::debug_level) {
- + debug_msg(1, "Dumping all variables:");
- QMap<QString, QStringList> &vars = project->variables();
- for(QMap<QString, QStringList>::Iterator it = vars.begin(); it != vars.end(); ++it) {
- if(!it.key().startsWith(".") && !it.value().isEmpty())
- diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
- index 8582ce1..c98251b 100644
- --- a/qmake/generators/win32/msvc_vcproj.cpp
- +++ b/qmake/generators/win32/msvc_vcproj.cpp
- @@ -459,6 +459,7 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
- tmp_vcproj.setProjectFile(&tmp_proj);
- Option::qmake_mode = old_mode;
- if(Option::debug_level) {
- + debug_msg(1, "Dumping all variables:");
- QMap<QString, QStringList> &vars = tmp_proj.variables();
- for(QMap<QString, QStringList>::Iterator it = vars.begin();
- it != vars.end(); ++it) {
- diff --git a/tests/manual/mkspecs/.gitignore b/tests/manual/mkspecs/.gitignore
- new file mode 100644
- index 0000000..403e028
- --- /dev/null
- +++ b/tests/manual/mkspecs/.gitignore
- @@ -0,0 +1,2 @@
- +tmp
- +specs
- diff --git a/tests/manual/mkspecs/test.sh b/tests/manual/mkspecs/test.sh
- new file mode 100755
- index 0000000..4b723c0
- --- /dev/null
- +++ b/tests/manual/mkspecs/test.sh
- @@ -0,0 +1,64 @@
- +#!/bin/bash
- +
- +if [ "$1" == "--help" ]; then
- + echo "Init a clean git repository somewhere and run this test script from that directory. The first run will"
- + echo "produce a bunch of specs. This is your baseline. Run 'git add specs' and commit the baseline. Then run"
- + echo "this script again, after making changes to the mkspecs. You should see any diffs you produced."
- + exit 0
- +fi
- +
- +
- +QMAKE_ARGS="-nocache -d"
- +SPECS_DIR=$(qmake -query QMAKE_MKSPECS)
- +SPECS=$(find -L $SPECS_DIR | grep "qmake.conf" | grep -Ev "common|default" | grep "$1")
- +
- +SEDI="sed -i"
- +if [ $(uname) == "Darwin" ]; then
- + # Mac OS X requires an extension, Linux will barf on it being present
- + SEDI='sed -i .backup'
- +fi
- +
- +if [ ! -d tmp ]; then
- + mkdir tmp
- + touch tmp/empty.pro
- +fi
- +
- +if [ ! -d specs ]; then
- + mkdir specs
- +fi
- +
- +git checkout -- specs > /dev/null 2>&1
- +
- +cd tmp
- +for spec in $SPECS; do
- + spec=$(echo $spec | sed "s|$SPECS_DIR/||" | sed "s|/qmake.conf||")
- + output_file=$(echo "$spec.txt" | sed "s|/|-|g")
- + echo "Dumping qmake variables for spec '$spec' to 'specs/$output_file'..."
- + qmake $QMAKE_ARGS -spec $spec empty.pro 2>&1 |
- + sed -n '/Dumping all variables/,$p' |
- + grep -Ev "(QMAKE_INTERNAL_INCLUDED_FILES|DISTFILES) ===" > ../specs/$output_file
- +
- + if [ -n $QTDIR ]; then
- + $SEDI "s|$QTDIR|\$QTDIR|g" ../specs/$output_file
- + fi
- +
- + if [ -n $QTSRCDIR ]; then
- + $SEDI "s|$QTSRCDIR|\$QTDIR|g" ../specs/$output_file
- + fi
- +done
- +cd ..
- +
- +rm -f specs/*.backup
- +
- +git diff --exit-code -- specs > /dev/null
- +exit_code=$?
- +
- +if [ $exit_code -eq 0 ]; then
- + echo -e "\nNo diff produced (you did good)"
- +else
- + # Show the resulting diff
- + git diff -- specs
- +fi
- +
- +exit $exit_code
- +
Add Comment
Please, Sign In to add comment