[Vala] Vapigen Regression Testing



Hi List,

For anyone interested, I've created a little shell script who's purpose
is to attempt to do some regression testing of vapi generation. It's
filed in bugzilla here:

https://bugzilla.gnome.org/show_bug.cgi?id=624155

As it's quite handy for anyone doing any modifications to vapigen, I
thought I'd post to this list too in case anyone is patching / has
patched vapigen and would like to do some testing to see if their
changes introduce any regressions or bugs.

Copy of info from the bugzilla bug:

For the moment I've placed it in vapi/packages (since it's only really
useful with a gitclone).

For usage:
        regressiontest.sh -h

The tool has two modes - full pass or stop on error.

Full Pass:
----------

regressiontest.sh -F

Will attempt to pass over all libraries it finds and give a general
report at the end regarding .vapi differences. When there is a
difference or error during generation the relevant files are left in the
directory for inspection.

Example output from current HEAD vapigen and existing vapi files (12th
July 2010):

  Report:
    Total libraries found:                            74

    Libraries not installed on current machine:       19
    VAPIS skipped (due to .skipped file):             0

    Generated VAPI matches existing version:          46
    Generated VAPI differs from existing version:     9
        atk
        gdu
        gdu-gtk
        gnome-keyring-1
        gstreamer-cdda-0.10
        gstreamer-controller-0.10
        gstreamer-dataprotocol-0.10
        libgda-4.0
        libsoup-2.4

    Errors encountered during generation:             1
        gstreamer-0.10


Stop On Error:
--------------

Will halt when the first difference in a .vapi is found or vapigen
produced an error. This one is useful if you have introduced a bug or
regression and wish to test again to see if you've fixed it. Will output
a "diff" on stdout.

Will not re-check individual libraries in subsequent launches (by using
a [.skipped/.checked] file).

If you've checked the diff and want to skip it next time you run the
tool, a "touch {LIBNAME}.checked" will mark it to be skipped next time
the "stop on error" mode is run.

Cleanup:
--------

The script will clean up any of it's files in the current directory by
passing the [-C/--cleanup] flag.

For more info, have a look in the script itself.





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