GNOME Bugzilla – Bug 624155
[PATCH] Vapigen regression testing script.
Last modified: 2013-02-18 01:07:12 UTC
Created attachment 165718 [details] Patch with script Shell script that will allow some regression testing of vapigen by attempting to regenerate all libs found on the current machine with vapigen. 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.
Created attachment 165719 [details] [review] The script as patch to HEAD
Created attachment 167951 [details] [review] Small bugfix to when no errors or diffs generated.
make gir-bindings + git diff with the vala-girs repo is sufficient for this, I think. Even with GIDL, make gidl-bindings + git diff is enough.