lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to test 'stepmake' patch (was Re: Staging broken)


From: James Lowe
Subject: How to test 'stepmake' patch (was Re: Staging broken)
Date: Sun, 23 Feb 2020 10:07:49 +0000
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

Hello,

On 19/02/2020 19:52, David Kastrup wrote:
address@hidden writes:

Hello and sorry I am late to the table on this - been a busy week for me.

On 19/02/2020 08:10, Jonas Hahnfeld wrote:
Am Dienstag, den 18.02.2020, 14:19 +0100 schrieb David Kastrup:
James <
address@hidden
writes:
Actually if you look on the tracker you'll see that I wrote

'Passes make, make test-baseline, and a full make doc.'

This is probably my fault misunderstanding what can and what cannot be
'tested' after 'configure' has been run.
Everything?

For example, as far as I can remember/tell if I *.ac files are patched
then when I run

./autogen.sh --noconfigure
mkdir build
cd build
../configure
make
make test-baseline

and THEN I try to apply the diff, I get some 'error' about the file
being newer (or something, I cannot recall without doing it) as when
you run the patch tests you are not re-running autogen/configure.
Why would you not rerun autogen/configure?

The procedure for a patch would be

git apply --index xxxx.diff
./autogen.sh --noconf
cd build
../configure --enable-checking  # and/or other desired options
make clean test-clean doc-clean
CPU_COUNT=9 make -j9 # or whatever other options
CPU_COUNT=9 make -j9 check
CPU_COUNT=9 make -j9 doc
In my experience this doesn't work in all cases. I just switched back
from branch where I worked on the build system and here's what I get
(after running $ autoconf in the src directory):
   $ ../src/configure
[...]
configure: creating ./config.status
config.status: creating config.make
config.status: creating config.hh
config.status: config.hh is unchanged
   $ make
   *** /code/LilyPond/build/config.hh is out of date
   *** Remove it and rerun autogen:
           rm /code/LilyPond/build/config.hh; ./autogen.sh
   $ make clean
[...]
   $ make
   *** /code/LilyPond/build/config.hh is out of date
   *** Remove it and rerun autogen:
           rm /code/LilyPond/build/config.hh; ./autogen.sh

Yes this is what I had too (not just recently) and I am sure that I
had some conversation - although I cannot find it on the lists so it
must have been private emails, anyway this was why I haven't been
doing 'make check' but simply applying these 'build file' patches and
just running the gamut of makes minus make check.

If after all these emails there is a better method (at least until we
get the automated build stuff done) I can add this into my workflow.

Thanks and sorry that I didn't think to mention it before more publicly.
The simplest way is to follow the given instructions as close as makes
sense (namely, if the given directories are wrong, use the right ones,
and if you were going to run autogen.sh and configure separately and/or
from different directories, do so).

We'll likely come up soonish with something obliterating the problem (or
at least a better diagnosis) but in the mean time and/or older code,
that seems like the best bet.

See

5783 Use $(MAKE) instead of 'make' in lilypond-book regtests - Han-Wen Nienhuys
https://sourceforge.net/p/testlilyissues/issues/5783
http://codereview.appspot.com/569400043

I have been using config.status --recheck && touch config.hh method to test recent 'build' patches and this seems to work without problems (thanks). However even when I used this method for the above patch I get a failure while doing the second 'make' (after make test-baseline/apply patch).

So I have defaulted just to the 'normal'

apply patch to master/configure/make/make test-baseline/make doc workflow

James




reply via email to

[Prev in Thread] Current Thread [Next in Thread]