diff options
| author | mitchell <unknown> | 2018-05-07 16:09:29 -0400 |
|---|---|---|
| committer | mitchell <unknown> | 2018-05-07 16:09:29 -0400 |
| commit | 8a1d066131a2c90152bb95b4ccdc04aa109e07ac (patch) | |
| tree | ad414d9c2938fa8c347450ebbc50f4744c55d886 /BACKPORTING | |
| parent | 7eab38bd0e0c2f72427d11386ec5e9c90271df97 (diff) | |
| download | scintilla-mirror-8a1d066131a2c90152bb95b4ccdc04aa109e07ac.tar.gz | |
Added backport testing notes and tools.
Diffstat (limited to 'BACKPORTING')
| -rw-r--r-- | BACKPORTING | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/BACKPORTING b/BACKPORTING index a23911fc0..a24bcfae5 100644 --- a/BACKPORTING +++ b/BACKPORTING @@ -30,6 +30,40 @@ In order to back out of a graft: This can only be done ONCE, and affects the most recent graft, so make sure you test any questionable grafts first before attempting another one. +Testing Backports +================= + +Backporting a change is one thing, but ensuring the backport was successful is +another. Currently, the measure of "success" is whether Scintilla compiles on +all platforms after a backported change. This process can be automated using hg +hooks and the "check.mak" makefile. By adding the following to .hg/hgrc: + + [hooks] + pretxncommit.adddeps = test -z "`hg status | grep '^A' | grep '\.\(h\|cxx\)$'`" || make -f check.mak deps + pretxncommit.compile = make -f check.mak + +whenever a backported change is about to be committed, hg runs "check.mak", +which attempts to compile Scintilla on all platforms. If successful, the commit +is made. Otherwise, the commit fails and changes must be made before attempting +to commit again. + +The file "check.mak" is designed to run on a Linux machine that has +cross-compilers for Win32 and Mac OSX. It does not necessarily produce any +binary builds of Scintilla that can be used -- it just ensures Scintilla can be +built without compile errors. How to obtain a set of cross-compilers is beyond +the scope of this document. At the time of writing, GCC 5.4 is used exclusively. + +Not only does "check.mak" perform platform compile checks, but it also has rules +for manually running Scintilla's unit tests (which take too long to run +automatically as a pre-commit hook), creating a LongTerm3 release archive set, +and uploading documentation to the LongTerm3 website on SourceForge: + + make test + make zip + make upload + +The last rule requires user credentials. + Backport Status =============== |
