(scheme-in-list): Add a fallback to create an error tag.
[cedet.git] / PRERELEASE_CHECKLIST
blobb082466d00cdfa9cd5c852df8b871377bd7eae0b
1 Prerelease Checklist:
2 --------------------
4   This is a list of things to do/try before posting a release to make sure
5   the release will work as well as can be expected:
7 Before a dist is made:
8 ---------------------
10 Update all version numbers
12   * M-x load-file RET ~/cedet/cedet-update-version.el
13   * M-x cuv-update
14     - Answer all questions, updating verion numbers as needed.
16 Add a CVS tag
18   * Create a new copy of CVS TRUNK
19     - mkdir <some dir>
20     - cvs -d <username>@cedet.cvs.sourceforge.net:/cvsroot/cedet co cedet
21     - mv cedet cedet-<branchname>  # (such as cedet-1p0beta3)
22     - cd cedet-branchname
23     - touch `find . -name Makefile`
24     - make dist
25     - ./testdist.sh # Test out that basic stuff is working before tagging.
26     - cvs tag -b <branchname>     
28   * update new sandbox to branch
29     - cvs update -r <branchname>
31   * Apply patches to above while resolving other issues.
33   * Build the new area:
34     - touch `find . -name Makefile`
35     - make EMACS=semacs
37 Update Changelogs
39   * Use a fresh emacs
40     - emacs -q
41     - M-x load-file RET common/cedet.el RET
42   * Update the Log from CVS
43     - M-x load-file RET cedet-update-changelog.el RET
44     - M-x cuc-update-all-changelogs RET
46 Build a DIST file
48   * touch `find . -name Makefile`
49   * make
50   * make dist
52 After a dist is made:
53 --------------------
55 CEDET Unit tests
56   * From a CVS area:
57   * make utest
59 CEDET integration test
60   * From a CVS area:
61   * make itest
63 CEDET Full distribution testing
64   * From a CVS area:
65   * make dist
66   * ./testdist.sh EMACS
67     - where EMACS is the version of emacs you want to test with
69 CEDET & Common area
71   * Uncompress/Untar release archive.
72   * Compile with Makefile:
73      make
74      make EMACS=xemacs
75   * Build on multiple platforms
76      - Linux
77      - Windows
78      - Other
80   * Check version numbers of different tools.
82      - Verify output of:
83        M-x cedet-version RET
84        - Check the declared version numbers.
85        - Make sure that if changes were made to those modules, the version
86          is updated.
88   * Start in a clean Emacs:
89     - Start emacs this way:
91       emacs -q
92       -or- 
93       xemacs -q
95       M-x load-file RET cedet/common/cedet.el RET
96       M-x semantic-load-enable-minimum-features RET
98   * All individual CEDET unit test
100       M-x cedet-utest RET
101       - Note: Runs all automated unit tests.  These tests are repeated below.
102       - Note: This runs a couple more tests than the MAKE command above.
104   * Test ezimage
106       M-x ezimage-image-association-dump RET
107       - Verify some common images for Emacs and XEmacs.
108       M-x ezimage-image-dump RET
109       - Verify the default registered images for Emacs and XEmacs.
111       NOTE: These are in cedet-utest, but pictures need verification.
113   * Test pulse
114       M-x pulse-test RET
115       - Verify pulse does what messages say.
116       - Try in Emacs 22, and older Emacs, or XEmacs.  (different behaviors)
118     NOTE: This is in cedet-utest.  Needs additional x-platform care.
120 EIEIO
122   * M-x eieio-browse RET
124     This will list the currently loaded class hierarcies.  After using
125     the test harness, and loading semantic, this should be a long list.
127   * Running tests for semantic/semanticdb, and EDE both test
128     other basic EIEIO features.
130 Semantic
132   * Make sure the semanticdb inversion check against persistent file loading
133     is updated if the file-format has changed.
135   * In a clean Emacs  
137     Visit files for different modes.  Include:
138       All files in cedet/semantic/tests.
139       .html file of your choice.
140       .texi files from the doc directory.
141       A lisp file, such as semantic.el.
142       C# file
143       .js javascript file
144       Makefile
146     Start with:
147       M-x toggle-debug-on-error RET - Enable debugging within the
148           parser and incremental parser.  (Usually hidden.)
150     For each supported mode:
151       M-x bovinate RET - verify tags are accurate.
152       M-x speedbar RET - Open the file and verify tags.
153       - Check the TAGS menu for tags in that file.
154       
155       M-x global-semantic-highlight-edits-mode RET
156       - Edit a file.  See the highlight of newly inserted text.
157       - Customize `semantic-edits-verbose-flag' to be non-nil.
158       - Wait for the idle scheduler, it should clean up the edits.
159         - observe messages from incremental parser.  Do they relate
160           to the edits?
161       - M-x bovinate RET - verify your changes are reflected.
163       Visit the menu Senator->Modes
164       - Enable that mode (if not already enabled) and verify the
165         advertised behavior.
167       - Test aspects of the Senator navigation menu.
169       M-x semantic-analyze-current-context RET
170        - Do this in different contexts in your language
171          files.   Verify that reasonable results are returned
172          such as identification of assignments, function arguments, etc.
174        - Optionally, use `semantic-speedbar-analysis' instead of
175          'semantic-analyze-current-context'.
177        - At a location with incomplete syntax (a list of arguments
178          with no close paren for instance: repeat previous step. 
180       M-x semanticdb-find-test-translate-path RET
181        - Verify the list matches the include files.
182          You may need to check the value of
183          `semanticdb-find-default-throttle' to determine what should, or
184          should not be on the list.
186       - With cursor on different types of declarations:
187       M-x semantic-test-all-format-tag-functions RET
188         - Verify all formats work.
190       - Use your favorite semantic-enabled tool.
192   * Try semantic-regtest.el (from CVS).
194 Speedbar
196   * In a clean Emacs
198     M-x speedbar RET
200     - browse through directories, expand tags in some files.
201     - Special support files to try:
202       - texinfo files (speedbar.texi)
203       - html files
204       - rmail files (RMAIL)
206     M-x Info-speedbar-browser RET
208     - browse through the manuals
212    * In a clean Emacs
214      - Examine files in the ede directory, such as:
215        ede.el
216        ede.texi
217        NEWS
219      - For files in these project, verify the Project menu
220      - Try builds for these files
221      - Try some other menu items
223 COGRE
225    * In a clean Emacs
227      M-x cogre RET mygraph RET
229      Create a block diagram.
231    * In a clean Emacs
233      from cogre.el, put cursor on `cogre-graph-element'
235      M-x cogre-uml-quick-class RET RET
237      - Verify the grpah.  (on parent, some direct children.)
238      - Move some blocks around (M-f, M-b, M-n, M-p)
240 SRecode
242    * Verify menu working in SRT, C++, and Emacs Lisp.
243      * Make sure srecode-mode is on.
245    * Try inserting file:empty in some modes, and then a function
246      to make sure prompts work.
248    * Check the maps:
249      M-x srecode-get-maps RET
251      Note: In cedet-utest, but make sure the output contains the known
252            templates.
254 GENERAL
256    * Run `checkdoc' against various source files to make sure
257      doc strings are conforming.
259 DEPENDANT TOOLS
260 ---------------
262    * Test this new release against dependent tools, including:
263      - JDEE
264      - ECB
266 After patches are applied:
267 -------------------------
269 After patches are applied to the release branch, merge them back into
270 TRUNK.
272   In a sandbox with TRUNK/HEAD active.
273   * cvs update -j <branchname> filename
275     - This merges changes from the branch into the trunk.
276     - Use emacs to check these branch merges in.