[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Denemo-devel] Master is badly broken
From: |
Richard Shann |
Subject: |
Re: [Denemo-devel] Master is badly broken |
Date: |
Thu, 31 Jul 2014 19:21:03 +0100 |
On Wed, 2014-07-30 at 12:10 +0200, Éloi Rivard wrote:
>
> At the time you can create a test script for any command you want
> (e.g. tests/fixtures/scm/foobar.scm). It will be loaded on a blank
> score, saved and compared with a reference file (e.g.
> tests/references/scm/foobar.denemo). The test will pass only if the
> saved file equals the reference file. This test mainly fits simple
> commands.
>
> If you want to test a command on a complex score (not a blank one),
> you can create a score carrying some scheme code (e.g.
> tests/fixtures/denemo/foobar.denemo). It will be loaded, the scheme
> code will be executed, then the score will be saved and compared with
> a reference file (e.g. tests/references/denemo/foobar.denemo) if it
> exists. If the reference file does not exist, the saved file wille be
> saved with the original one. The test will pass only if the saved file
> equals the reference (or the original) file.
>
> The tests/README.md file explains all this:
> https://github.com/denemo/denemo/blob/master/tests/README.md
>
> As I don't write a very literary English, don't hesitate to edit and
> reformulate this file!
This all sounds excellent!
> I can make the test suite able to manage subdirectories if you prefer.
when we start to have many tests we may want that...
>
> Now, the testsuite allows us to test any scheme code on any file we
> want. Do you see some way it can be improved?
The first time we make a change to the denemo file format (affecting all
output files) I think we will need a command that updates all the
reference files ...
> Of course what we need now is to actually write some test to make it
> operate. So what's the plan?
This has caused me to pause for some days, mulling over what we could
reasonably do.
The first thing would be a sanity check: could someone still write a
typical music score with the program, getting a typeset at the end?
We can only really test that interactively, but we could give ourselves
some confidence with a script that
1. Started a new score
2. Added some staffs and voices
3. Set an initial time signature, clef and key signature
4. Added notes and chords of various durations
5. Added some ties, slurs, articulations and ornaments, key and
time signature changes
6. Add a further movement.
7. Navigate around the score altering all the types of things.
8. Save a LilyPond file
9. Save a pdf
10. Save the score.
We couldn't usefully test that the pdf was unchanged (as it depends on
external software) but we could test the LilyPond output. (I guess we
don't have a facility to do that yet, but I guess we could do it?).
I'll try and construct such a script - what names should be used to save
as .pdf and .ly?
> Do we make a list of scheme function that should probably be tested,
> and write some fixtures for it?
This seems rather daunting. We could have a test for inserting every
duration of note at every position (appending, underfull measure,
overfull measure) with sharpening, flattening, applying articulations
and ornaments. We could test for each sort of navigation command, each
sort of modification command, it could be enormous...
> I think you are more comfortable with scheme functions than me to
> decide which one should be tested, by I can write fixtures. Should we
> create bugs/tasks in Savannah for those fixtures?
>
>
>
>
> My "refactor" branch does actually bring modifications to the scheme
> part of denemo. It is mainly functions and file renamings on C score
> operations (note insertion, etc.). I use those functions with the
> noteworthy file importer I work on.
I've had a look at just a small part of this stuff and a lot of it looks
like improvements in the names and so on that couldn't affect the code.
(I was looking through the code to get an idea of what it might be most
useful to test).
As I looked through a couple of diffs I came across this:
-void ChangeDur(gint duration){
- gint mode = Denemo.project->mode;
+void duration_change(gint duration){
gboolean appending = Denemo.project->movement->cursor_appending;
if(appending)
movecursorleft(NULL, NULL);
+ gint mode = Denemo.project->mode;
Denemo.project->mode = INPUTEDIT|INPUTNORMAL;
insert_chord_xkey(duration, NULL);
Denemo.project->mode = mode;
- if(appending)
- movecursorright(NULL, NULL);
score_status(Denemo.project, TRUE);
displayhelper(Denemo.project);
+ if(appending)
+ movecursorright(NULL, NULL);
}
Here, the movecursorright() call has been moved after the
displayhelper() call. I have never really got to the bottom of what
things like displayhelper() do, but I wonder if this change was just
accidental or was the result of finding some problem (in which case it
doesn't belong in changes called "refactor"). The updating of the
display is one of the most opaque things in Denemo - a blinking cursor
may have the effect of hiding a problems - and when it goes wrong the
effect is extremely disturbing to the user (with the cursor jumping
about strangely and things drawn in the wrong place) and extremely
difficult to debug. Will it be a good idea to eyeball all the diffs in
this branch, or can you point to areas that might benefit from close
scrutiny?
Richard
>
>
>
> 2014-07-15 14:54 GMT+02:00 Richard Shann <address@hidden>:
> On Sun, 2014-07-13 at 21:13 +0200, Éloi Rivard wrote:
> > Do you think the test suite is mature enough to let met
> merge my
> > "refactor" branch ?
>
>
> I thought where we had got to was that the test framework is
> now working
> in the sense that my separate user when running make check
> gets a pass.
> But, AFAIK we only have a couple of tests ...
> The next step is to see if we can create tests.
> I thought the plan was that each time a command script was
> written a
> denemo file with a script in it would be written that
> exercises the new
> command with success measured by the file remaining unaltered
> after
> loading (and hence running the embedded script). That is, by
> placing
> self-testing (idempotent) denemo files in a suitable directory
> (fixtures? - can we create a hierarchy of files below
> fixtures and will
> they all be loaded and saved and tested for change?)
>
> I also thought there was a naming convention for the case
> where
> a .denemo file is not idempotent, that is a output file for
> comparison,
> together with a make target that accepts a different output
> file as the
> new comparison file to be used when the output file format has
> been
> changed.
>
> Richard
>
> >
> >
> >
> > 2014-07-13 21:10 GMT+02:00 Éloi Rivard <address@hidden>:
> > The test framework is the glib one.
> >
> https://developer.gnome.org/glib/stable/glib-Testing.html
> >
> >
> > To add a test, open integration.c or unit.c (the one
> you think
> > fits the most)
> >
> > Create a test function, for instance
> > test_foobar(gpointer fixture, gconstpointer data)
> >
> >
> > and register it in the main function
> > g_test_add ("/THE_EXE_NAME/foobar", void, NULL,
> setup,
> > test_foobar, teardown);
> >
> >
> >
> > 2014-07-13 18:49 GMT+02:00 Richard Shann
> > <address@hidden>:
> >
> > On Sun, 2014-07-13 at 15:03 +0200, Éloi
> Rivard wrote:
> > > Ok. So if you run make check or/and make
> distcheck,
> > does it pass ?
> >
> >
> > yes, it ends with
> >
> > OK
> > PASS: unit
> > ==================
> > All 2 tests passed
> > ==================
> >
> > after running make check. Does this mean we
> are in a
> > position to write
> > more tests that will reliably pass? What
> would be the
> > procedure to do
> > that?
> >
> > Richard
> >
> > >
> > >
> > >
> > > 2014-07-13 14:32 GMT+02:00 Richard Shann
> > <address@hidden>:
> > > On Sun, 2014-07-13 at 14:12 +0200,
> Éloi
> > Rivard wrote:
> > > > Can you checkout the last git
> code, "make
> > && cd tests &&
> > > make unit &&
> > > > gtester -p=/unit/thumbnailer
> unit &&
> > cd .." and dump me the
> > > full log,
> > > > with the lilypond output ?
> > >
> > >
> > > I did this, and it ended with a
> PASS, (as
> > below), but I don't
> > > see
> > > anything labelled log, or any
> lilypond
> > output...
> > >
> > > [...]
> > > ;;;
> > >
> >
> compiled
> /home/denemo-user/.cache/guile/ccache/2.0-LE-8-2.0/home/denemo-user/denemo-git/actions/denemo-modules/wysiwyg.scm.go
> > > Denemo - MESSAGE : Opening
> > >
> >
> file /home/denemo-user/denemo-git/tests/fixtures/denemo/blank.denemo
> > >
> > > Denemo - INFO : Attempt to
> create
> > >
> >
> thumbnail /home/denemo-user/denemo-git/tests/tmp/thumbnail.png
> > > Denemo - INFO : Thumbnail
> generated
> > >
> >
> at /home/denemo-user/denemo-git/tests/tmp/thumbnail.png
> > > Denemo - INFO : Large thumbnail
> generated
> > >
> >
> at /home/denemo-user/denemo-git/tests/tmp/thumbnail.png
> > > PASS: unit
> > >
> > > Richard
> > >
> > >
> > > >
> > > >
> > > >
> > > > 2014-06-25 9:28 GMT+02:00
> Richard Shann
> > > <address@hidden>:
> > > > I configured with
> --enable-debug
> > and did make
> > > > and then
> > > > cd tests && gtester
> > -p=/unit/thumbnailer unit &&
> > > cd ..
> > > >
> > > > and this completed
> successfully,
> > the tail of the
> > > output is
> > > > below.
> > > > So it would seem that
> this test is
> > faulty -
> > > sometimes it
> > > > passes and
> > > > sometimes not. I can see
> a
> > potential problem with it
> > > - the
> > > > command
> > > > (d-CreateThumbnail #f)
> is perhaps
> > the one that
> > > creates a
> > > > LilyPond
> > > > process without waiting
> for it to
> > finish (when
> > > exiting denemo
> > > > this is
> > > > what happens I think).
> If the test
> > is looking for
> > > the output
> > > > file from
> > > > the LilyPond process
> then that may
> > not have finished
> > > by the
> > > > time the
> > > > test checks. Just a
> thought.
> > > >
> > > > Richard
> > > >
> > > >
> > > > [...]
> > > > Denemo - DEBUG :
> Executing
> > '(d-CreateThumbnail #f
> > > >
> > >
> >
> "/home/rshann/git-denemo/denemo/tests/tmp/thumbnail.png")(d-Exit)'
> > > > Denemo - INFO :
> Creating
> > > >
> > >
> >
> thumbnail /home/rshann/git-denemo/denemo/tests/tmp/thumbnail.png
> > > > Denemo - DEBUG :
> > > >
> > Generating /tmp/Denemo9Sr0Ug/denemothumb.png
> from
> > > > Lilypond
> > > > PASS: unit
> > > >
> > > >
> > > >
> > > >
> > > > On Wed, 2014-06-25 at
> 00:16 +0200,
> > Éloi Rivard
> > > wrote:
> > > > > Ok, you should be able
> to launch
> > the failing test
> > > with :
> > > > >
> > > > > cd tests
> > > > > gtester
> -p=/unit/thumbnailer
> > unit
> > > > > You should probably
> configure
> > with --enable-debug
> > > to see
> > > > debug
> > > > > messages, if you did
> not
> > > > >
> > > > > > Denemo - CRITICAL:
> Thumbnail
> > 128x128
> > > > >
> > file /tmp/Denemo2g5UiI/denemothumb.
> > > > > png gave an error:
> Failed to
> > open file
> > > > >
> > '/tmp/Denemo2g5UiI/denemothumb.png': No such
> file
> > > or
> > > > directory
> > > > > > Denemo - CRITICAL:
> Thumbnail
> > 256x256
> > > > >
> > file /tmp/Denemo2g5UiI/denemothumb.png gave
> an
> > > error: Failed
> > > > to open
> > > > > file
> > '/tmp/Denemo2g5UiI/denemothumb.png': No such
> > > file or
> > > > directory
> > > > >
> > > > >
> > > > > Those two error
> messages you get
> > seem to come from
> > > > thumb_finished in
> > > > > printview/printview.c,
> because
> > the
> > > create_thumbnail did not
> > > > ran
> > > > > properly…
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > 2014-06-16 19:06 GMT
> +02:00
> > Richard Shann
> > > >
> <address@hidden>:
> > > > > gtester
> --version
> > > > > gtester
> version 2.32.4
> > > > >
> > > > >
> > > > > On Mon,
> 2014-06-16 at
> > 17:46 +0200, Éloi
> > > Rivard
> > > > wrote:
> > > > > > What is you
> gtester
> > version ?
> > > > > > gtester
> --version
> > > > > >
> > > > > >
> > > > > >
>
> > > > > > 2014-06-16
> 17:00 GMT
> > +02:00 Richard Shann
> > > > >
> > <address@hidden>:
> > > > > > On
> Mon,
> > 2014-06-16 at 15:15
> > > +0200, Éloi
> > > > Rivard
> > > > > wrote:
> > > > > > >
> Logs are in
> > the "tests" dir.
> > > There are
> > > > several
> > > > > ones
> > > > > >
> > (integration.log
> > > > > > >
> for
> > integration test, unit.log
> > > for unit
> > > > test etc.)
> > > > > >
> > > > > > I
> have nothing
> > that looks like a
> > > log file
> > > > in the
> > > > > tests
> > > > > >
> directory
> > after
> > > > > >
> running the
> > tests as I
> > > described:
> > > > > > ls
> -lrt
> > > > > >
> total 304
> > > > > >
> drwxr-xr-x 2
> > denemo-user
> > > denemo-user 4096
> > > > Jun 16
> > > > > 07:14
> > > > > >
> > integration-tmp
> > > > > >
> drwxr-xr-x 4
> > denemo-user
> > > denemo-user 4096
> > > > Jun 16
> > > > > 07:25
> > > > > >
> Interactive
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 949
> > > > Jun 16
> > > > > 07:25
> > > > > >
> README.md
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 316
> > > > Jun 16
> > > > > 07:25
> > > > > >
> Makefile.am
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 302
> > > > Jun 16
> > > > > 07:25
> > > > > >
> common.h
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 779
> > > > Jun 16
> > > > > 07:25
> > > > > >
> common.c
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 4502
> > > > Jun 16
> > > > > 07:25 unit.c
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 8211
> > > > Jun 16
> > > > > 07:25
> > > > > >
> integration.c
> > > > > >
> drwxr-xr-x 5
> > denemo-user
> > > denemo-user 4096
> > > > Jun 16
> > > > > 07:25
> > > > > >
> fixtures
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 40068
> > > > Jun 16
> > > > > 08:37
> > > > > >
> Makefile.in
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 42423
> > > > Jun 16
> > > > > 08:37
> > > > > >
> Makefile
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 53856
> > > > Jun 16
> > > > > 08:38
> > > > > >
> integration.o
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 9992
> > > > Jun 16
> > > > > 08:38
> > > > > >
> common.o
> > > > > >
> -rwxr-xr-x 1
> > denemo-user
> > > denemo-user 37567
> > > > Jun 16
> > > > > 08:38
> > > > > >
> integration
> > > > > >
> -rw-r--r-- 1
> > denemo-user
> > > denemo-user 29888
> > > > Jun 16
> > > > > 08:38 unit.o
> > > > > >
> -rwxr-xr-x 1
> > denemo-user
> > > denemo-user 28066
> > > > Jun 16
> > > > > 08:38 unit
> > > > > >
> drwxr-xr-x 2
> > denemo-user
> > > denemo-user 4096
> > > > Jun 16
> > > > > 08:38 tmp
> > > > > >
> > > > > >
> Richard
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> 2014-06-16
> > 15:14 GMT+02:00
> > > Éloi Rivard
> > > > >
> <address@hidden>:
> > > > > > >
> Ok
> > it seems that you
> > > have an
> > > > issue with
> > > > > the
> > > > > >
> thumbnailer
> > test,
> > > > > > >
> I
> > look at this asap.
> > > > > > >
> > > > > > >
> > > > > > >
> >
> > > > > > >
> > 2014-06-16 12:05 GMT
> > > +02:00
> > > > Richard Shann
> > > > > > >
> > > <address@hidden>:
> > > > > > >
> > > > > > >
> > On Sun,
> > > 2014-06-15 at
> > > > 12:53 +0200,
> > > > > Éloi
> > > > > >
> Rivard wrote:
> > > > > > >
> > > Do you think
> > > the
> > > > testsuite is
> > > > > tough enough
> > > > > > to
> merge
> > > > > > >
> > the "refactor"
> > > > > > >
> > > branch now ?
> > > > > > >
> > > > > > >
> > > > > > >
> > We seem to be
> > > so close,
> > > > ready to
> > > > > write at
> > > > > >
> least one or
> > > > > > >
> > two tests, but
> > > I
> > > > > > >
> > can't get make
> > > -C tests
> > > > check to
> > > > > work (see
> > > > > >
> below).
> > > > > > >
> > Also, you said
> > > > > > >
> > > > > > >
> > > > I
> > > create a
> > > > new test
> > > > > that will
> > > > > > try
> to
> > > > > > >
> > execute every
> > > not
> > > > > > >
> > >
> > > builtin scheme
> > > > > > >
> > > >
> > > command
> > > > > > >
> > > > > > >
> > > > > > >
> > is this
> > > actually
> > > > happening?, and
> > > > > if so does
> > > > > > it
> execute
> > > > > > >
> > the command on
> > > > > > >
> > blank file
> > > (very weak)
> > > > rather than
> > > > > a file
> > > > > > with
> music
> > > > > > >
> > in it - that
> > > would
> > > > > > >
> > be a small
> > > change that
> > > > would make
> > > > > the test
> > > > > > far
> > > > > > >
> > stronger...
> > > > > > >
> > I started
> > > trying to
> > > > create a test
> > > > > for each
> > > > > > new
> > > > > > >
> > command, but I
> > > don't
> > > > have
> > > > > > >
> > a method for
> > > creating
> > > > tests that
> > > > > work.
> > > > > > >
> > To run the
> > > tests I have
> > > > a separate
> > > > > user with
> > > > > > user
> name
> > > > > > >
> > "denemo-user".
> > > I
> > > > > > >
> > don't see any
> > > log file
> > > > at the end
> > > > > of the
> > > > > >
> tests or
> > > > > > >
> > details of
> > > what
> > > > > > >
> > failed, I'll
> > > paste here
> > > > what I see
> > > > > - it ends
> > > > > > with
> 1 of
> > > > > > >
> > 2 tests fail.
> > > > > > >
> > This is the
> > > result of:
> > > > > > >
> > su denemo-user
> > > > > > >
> > git pull
> > > > > > >
> > make clean
> > > > > > >
> > make distclean
> > > > > > >
> > ./autogen.sh
> > > > > > >
> > make && make
> > > -C tests
> > > > check
> > > > > > >
> > [...]
> > > > > > >
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Opening
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> file /home/denemo-user/denemo-git/tests/tmp/scm/SanityCheck.denemo
> > > > > > >
> > > OK
> > > > > > >
> > > PASS:
> > > integration
> > > > > > >
> > > > /unit/run-and-quit:
> > > > Denemo -
> > > > > MESSAGE :
> > > > > >
> Loading
> > > > > > >
> > preference
> > > > > > >
> > > > > >
> > > >
> >
> file: /home/denemo-user/.denemo-1.1.7/denemorc
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Denemo
> > > > > version 1.1.7
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Loaded
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> keymap /home/denemo-user/denemo-git/actions/Default.commands
> > > > > > >
> > > OK
> > > > > > >
> > > > /unit/scheme-log:
> > > > Denemo -
> > > > > WARNING : This
> > > > > > is
> warning
> > > > > > >
> > > Denemo -
> > > CRITICAL:
> > > > This is
> > > > > critical
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Loading
> > > > > preference
> > > > > > >
> > > > > >
> > > >
> >
> file: /home/denemo-user/.denemo-1.1.7/denemorc
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Denemo
> > > > > version 1.1.7
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Loaded
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> keymap /home/denemo-user/denemo-git/actions/Default.commands
> > > > > > >
> > > Denemo -
> > > INFO :
> > > > This is info
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > This is
> > > > > message
> > > > > > >
> > > OK
> > > > > > >
> > > >
> > /unit/scheme-log-error: Denemo -
> > > > > MESSAGE :
> > > > > >
> Loading
> > > > > > >
> > preference
> > > > > > >
> > > > > >
> > > >
> >
> file: /home/denemo-user/.denemo-1.1.7/denemorc
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Denemo
> > > > > version 1.1.7
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Loaded
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> keymap /home/denemo-user/denemo-git/actions/Default.commands
> > > > > > >
> > > Denemo -
> > > ERROR :
> > > > This error is
> > > > > fatal
> > > > > > >
> > > OK
> > > > > > >
> > > > /unit/thumbnailer:
> > > > Running
> > > > > scheme:
> > > > > > >
> > > (d-CreateThumbnail #f
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> "/home/denemo-user/denemo-git/tests/tmp/thumbnail.png")(d-Exit)
> /home/denemo-user/denemo-git/tests/fixtures/denemo/blank.denemo
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Loading
> > > > > preference
> > > > > > >
> > > > > >
> > > >
> >
> file: /home/denemo-user/.denemo-1.1.7/denemorc
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Denemo
> > > > > version 1.1.7
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Loaded
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> keymap /home/denemo-user/denemo-git/actions/Default.commands
> > > > > > >
> > > Success 1
> > > > > > >
> > > Denemo -
> > > CRITICAL:
> > > > Thumbnail
> > > > > 128x128
> > > > > > >
> > > > >
> > file /tmp/Denemo2g5UiI/denemothumb.png
> > > gave
> > > > > > an
> error:
> > > > > > >
> > Failed to open
> > > file
> > > > > > >
> > > > >
> > '/tmp/Denemo2g5UiI/denemothumb.png': No
> > > such
> > > > > > file
> or
> > > > > > >
> > directory
> > > > > > >
> > > Denemo -
> > > CRITICAL:
> > > > Thumbnail
> > > > > 256x256
> > > > > > >
> > > > >
> > file /tmp/Denemo2g5UiI/denemothumb.png
> > > gave
> > > > > > an
> error:
> > > > > > >
> > Failed to open
> > > file
> > > > > > >
> > > > >
> > '/tmp/Denemo2g5UiI/denemothumb.png': No
> > > such
> > > > > > file
> or
> > > > > > >
> > directory
> > > > > > >
> > > Denemo -
> > > MESSAGE :
> > > > Opening
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> file /home/denemo-user/denemo-git/tests/fixtures/denemo/blank.denemo
> > > > > > >
> > > Denemo -
> > > INFO :
> > > > Creating
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> thumbnail /home/denemo-user/denemo-git/tests/tmp/thumbnail.png
> > > > > > >
> > > **
> > > > > > >
> > >
> > > > >
> > ERROR:unit.c:121:test_thumbnailer:
> > > > > >
> assertion
> > failed:
> > > > > > >
> > > (g_file_test(thumbnail,
> > > > >
> G_FILE_TEST_EXISTS))
> > > > > > >
> > > /bin/bash:
> > > line 5:
> > > > 1553 Aborted
> > > > > > >
> > > > > >
> > > >
> >
> G_TEST_SRCDIR="/home/denemo-user/denemo-git/tests"
> > > > > > >
> > > > > >
> > > >
> >
> G_TEST_BUILDDIR="/home/denemo-user/denemo-git/tests"
> > > > > > >
> > > G_DEBUG=gc-friendly
> > > > >
> MALLOC_CHECK_=2
> > > > > >
> > MALLOC_PERTURB_=
> > > > > > >
> > > $((${RANDOM:-256} %
> > > > 256))
> > > > > ${dir}$tst
> > > > > > >
> > > FAIL: unit
> > > > > > >
> > >
> > > > >
> > =====================================
> > > > > > >
> > > 1 of 2 tests
> > > failed
> > > > > > >
> > > Please
> > > report to
> > > > >
> address@hidden
> > > > > > >
> > >
> > > > >
> > =====================================
> > > > > > >
> > > make[2]: ***
> > > > [check-TESTS] Error
> > > > > 1
> > > > > > >
> > > make[2]:
> > > Leaving
> > > > directory
> > > > > > >
> > > > >
> > `/home/denemo-user/denemo-git/tests'
> > > > > > >
> > > make[1]: ***
> > > > [check-am] Error 2
> > > > > > >
> > > make[1]:
> > > Leaving
> > > > directory
> > > > > > >
> > > > >
> > `/home/denemo-user/denemo-git/tests'
> > > > > > >
> > > make: ***
> > > [check]
> > > > Error 2
> > > > > > >
> > > make:
> > > Leaving
> > > > directory
> > > > > > >
> > > > >
> > `/home/denemo-user/denemo-git/tests'
> > > > > > >
> > >
> > > > >
> > address@hidden:~/denemo-git$
> > > > > > >
> > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > The test
> > > > parses the
> > > > > action
> > > > > >
> directory to
> > > > > > >
> > find the
> > > scheme
> > > > > > >
> > >
> > > commands.
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > For each
> > > > command, it
> > > > > checks if
> > > > > > an
> > > > > > >
> > associated
> > > test file
> > > > > > >
> > >
> > > exists, lets
> > > > > > >
> > > >
> > > say
> > > > > >
> > >
> tests/fixtures/scheme/THECOMMAND.scm.
> > > > > > >
> > If so it
> > > executes
> > > > > > >
> > > it.
> > > > > > >
> > >
> > > > > > >
> > > Is
> > > that to say
> > > > it
> > > > > executes the
> > > > > >
> script
> > > > > > >
> > starting with
> > > a blank
> > > > > > >
> > >
> > > score? Does
> > > > > > >
> > > it
> > > then save
> > > > the score
> > > > > after the
> > > > > >
> script has
> > > > > > >
> > executed and
> > > test
> > > > > > >
> > >
> > > against
> > > > > > >
> > >
> > > > THECOMMAND.denemo ?
> > > > > > >
> > > this
> > > would
> > > > sound like a
> > > > > good
> > > > > >
> framework for
> > > > > > >
> > testing.
> > > > > > >
> > >
> > > > > > >
> > >
> > > > > > >
> > > >
> > > If not it
> > > > just
> > > > > executes
> > > > > > >
> > > >
> "(d-THECOMMAND)(d-quit)".
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > This would
> > > > be a weak
> > > > > test in
> > > > > > that
> case,
> > > > > > >
> > >
> > > > > > >
> > > It
> > > could be
> > > > made quite a
> > > > > bit
> > > > > >
> stronger by
> > > > > > >
> > making the
> > > > > > >
> > >
> > > environment in
> > > > which
> > > > > > >
> > >
> > > (d-THECOMMAND)
> > > > is
> > > > > executed a
> more
> > > > > >
> typical
> > > > > > >
> > environment,
> > > by
> > > > > > >
> > >
> > > installing a
> > > > > > >
> > >
> > > couple of
> > > > staffs and
> > > > > some chords,
> > > > > >
> leaving
> > > > > > >
> > the cursor on
> > > a
> > > > > > >
> > >
> > > chord. Many
> > > > > > >
> > > more
> > > commands
> > > > do useful
> > > > > things
> > > > > > when
> the
> > > > > > >
> > cursor is on
> > > something
> > > > > > >
> > > and
> > > when
> > > > > > >
> > >
> > > other staffs
> > > > are present
> > > > > than do
> > > > > >
> something
> > > > > > >
> > useful in a
> > > > > > >
> > >
> > > completely
> > > > empty
> > > > > > >
> > >
> > > score.
> > > > > > >
> > >
> > > > > > >
> > >
> > > (d-AddAfter)
> > > > > > >
> > >
> > > (d-A)
> > > > > > >
> > >
> > > (d-CursorUp)
> > > > > > >
> > >
> > > (d-CursorUp)
> > > > > > >
> > >
> > > > (d-AddNoteToChord)
> > > > > > >
> > >
> > > > (d-MoveCursorLeft)
> > > > > > >
> > >
> > > (d-THECOMMAND)
> > > > > > >
> > >
> > > (d-Save
> > > > >
> "filename= ....")
> > > > > > >
> > >
> > > (d-Quit)
> > > > > > >
> > >
> > > > > > >
> > >
> > > would generate
> > > > a
> > > > > distinctive
> > > > > >
> output file
> > for
> > > > > > >
> > many commands
> > > (it
> > > > > > >
> > >
> > > creates
> > > > > > >
> > > two
> > > staffs,
> > > > populates
> > > > > one and then
> > > > > >
> executes
> > > > > > >
> > THECOMMAND in
> > > that
> > > > > > >
> > >
> > > situation).
> > > > > > >
> > >
> > > > > > >
> > > >
> > > but it
> > > > could at least
> > > > > check
> > > > > > that
> the
> > > > > > >
> > command does
> > > not
> > > > > > >
> > >
> > > provoke a
> > > > > > >
> > > >
> > > segfault.
> > > > > > >
> > >
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > Then the
> > > > test could be
> > > > > a bit
> > > > > >
> tougher. For
> > > > > > >
> > example, we
> > > could
> > > > > > >
> > >
> > > decide
> > > > > > >
> > > >
> > > that if a
> > > > scheme
> > > > > command return
> > > > > >
> FALSE, it
> > > > > > >
> > makes the test
> > > > > > >
> > >
> > > fail.
> > > > > > >
> > >
> > > > > > >
> > > I'm
> > > not sure
> > > > that Denemo
> > > > > commands
> > > > > >
> return
> > > > > > >
> > anything
> > > useful. But
> > > > > > >
> > >
> > > detecting
> > > > > > >
> > >
> > > scheme
> > > > exceptions would
> > > > > be good -
> > > > > > we
> could
> > > > > > >
> > exit in the
> > > trap
> > > > > > >
> > >
> > > handler if
> > > > > > >
> > >
> > > noninteractive
> > > > was set.
> > > > > We might
> > > > > > have
> to fix
> > > > > > >
> > one or two
> > > > > > >
> > >
> > > commands that
> > > > > > >
> > >
> > > don't expect
> > > > to be
> > > > > executed in
> the
> > > > > >
> given
> > > > > > >
> > environment -
> > > well,
> > > > > > >
> > > we
> > > could
> > > > > > >
> > > just
> > > write a
> > > > test for
> > > > > them.
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > What do you
> > > > think ?
> > > > > > >
> > >
> > > > > > >
> > >
> > > > > > >
> > > I
> > > think this
> > > > is
> > > > > excellent - it
> > > > > > will
> require
> > > > > > >
> > a rule to
> > > generate
> > > > > > >
> > > the
> > > set
> > > > > > >
> > > of
> > > expected
> > > > output
> > > > > files, rather
> > > > > > than
> diff
> > > > > > >
> > them (for the
> > > > > > >
> > >
> > > initial
> > > > > > >
> > >
> > > creation of
> > > > the expected
> > > > > output),
> > > > > > and
> one to
> > > > > > >
> > accept an
> > > altered
> > > > > > >
> > > set
> > > of
> > > > > > >
> > >
> > > files (copying
> > > > them to
> > > > > the
> > > > > >
> expected ones)
> > > > > > >
> > would be a
> > > > > > >
> > >
> > > time-saver
> > > > too.
> > > > > > >
> > >
> > > After a change
> > > > of
> > > > > version in the
> > > > > >
> Denemo file
> > > > > > >
> > format all the
> > > > > > >
> > >
> > > expected
> > > > > > >
> > >
> > > output files
> > > > would
> > > > > change - you
> > > > > >
> would make
> > > > > > >
> > just this
> > > change,
> > > > > > >
> > >
> > > check a few
> > > > > > >
> > >
> > > examples and
> > > > then run
> > > > > the rule to
> > > > > >
> overwrite
> > > > > > >
> > all the old
> > > > > > >
> > >
> > > versions with
> > > > > > >
> > > the
> > > new ones.
> > > > > > >
> > >
> > > > > > >
> > >
> > > Richard
> > > > > > >
> > >
> > > > > > >
> > >
> > > > > > >
> > >
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > 2014-04-15
> > > > 21:10 GMT
> > > > > +02:00
> > > > > >
> Richard Shann
> > > > > > >
> > >
> > > > >
> > <address@hidden>:
> > > > > > >
> > > >
> > > On
> > > > Tue,
> > > > > 2014-04-15 at
> > > > > >
> 19:13 +0100,
> > > > > > >
> > Richard Shann
> > > > > > >
> > >
> > > wrote:
> > > > > > >
> > > >
> > > > As
> > > > you
> > > > > remarked, it
> > > > > > will
> be good
> > > > > > >
> > to generate a
> > > > > > >
> > >
> > > new .scm
> > > > > > >
> > > >
> > > > script each
> > > > > > >
> > > >
> > > >
> > > > time
> > > > > > >
> > > >
> > > > a
> > > > new
> > > > > command is
> made
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > This
> > > > script
> > > > > could assume
> > > > > > that
> a
> > > > > > >
> > variable,
> > > > > > >
> > > >
> > > > >
> Denemo-output-filename
> > > > > > say,
> > > > > > >
> > > >
> > > was
> > > > defined
> > > > > which it
> > > > > >
> should use
> > > > > > >
> > via
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > > (d-Save
> > > > > >
> > Denemo-output-filename)
> > > > > > >
> > > >
> > > > (d-Quit)
> > > > > > >
> > > >
> > > > > > >
> > > >
> > > at
> > > > the end of
> > > > > the test.
> > > > > > (I
> think I
> > > > > > >
> > missed the
> > > > > > >
> > >
> > > (d-Quit) out
> > > > of
> > > > > > >
> > > >
> > > the
> > > > > > >
> > > >
> > > > current
> > > > > script ...)
> > > > > > >
> > > > > > >
> > Richard
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> --
> > > > > > >
> Éloi
> > Rivard -
> > > address@hidden
> > > > > > >
> > > > > > >
> « On
> > perd plus à être
> > > indécis
> > > > qu'à se
> > > > > tromper. »
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > >
> Éloi Rivard
> > - address@hidden
> > > > > > >
> > > > > > > «
> On perd
> > plus à être indécis
> > > qu'à se
> > > > tromper. »
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Éloi Rivard
> -
> > address@hidden
> > > > > >
> > > > > > « On perd
> plus à être
> > indécis qu'à se
> > > tromper. »
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Éloi Rivard -
> address@hidden
> > > > >
> > > > > « On perd plus à être
> indécis
> > qu'à se tromper. »
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Éloi Rivard - address@hidden
> > > >
> > > > « On perd plus à être indécis
> qu'à se
> > tromper. »
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Éloi Rivard - address@hidden
> > >
> > > « On perd plus à être indécis qu'à se
> tromper. »
> > >
> >
> >
> >
> >
> >
> >
> > --
> > Éloi Rivard - address@hidden
> >
> > « On perd plus à être indécis qu'à se tromper. »
> >
> >
> >
> >
> > --
> > Éloi Rivard - address@hidden
> >
> > « On perd plus à être indécis qu'à se tromper. »
> >
>
>
>
>
>
>
> --
> Éloi Rivard - address@hidden
>
> « On perd plus à être indécis qu'à se tromper. »
>
- Re: [Denemo-devel] Master is badly broken, Éloi Rivard, 2014/07/13
- Re: [Denemo-devel] Master is badly broken, Richard Shann, 2014/07/13
- Re: [Denemo-devel] Master is badly broken, Éloi Rivard, 2014/07/13
- Re: [Denemo-devel] Master is badly broken, Richard Shann, 2014/07/13
- Re: [Denemo-devel] Master is badly broken, Éloi Rivard, 2014/07/13
- Re: [Denemo-devel] Master is badly broken, Éloi Rivard, 2014/07/13
- Re: [Denemo-devel] Master is badly broken, Richard Shann, 2014/07/15
- Re: [Denemo-devel] Master is badly broken, Éloi Rivard, 2014/07/30
- Re: [Denemo-devel] Master is badly broken,
Richard Shann <=