File: PRERELEASE_CHECKLIST

package info (click to toggle)
cedet 1%3A1.0pre4-3
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 6,696 kB
  • ctags: 4,651
  • sloc: lisp: 63,636; cpp: 500; sh: 313; makefile: 172; ansic: 144; java: 15
file content (246 lines) | stat: -rw-r--r-- 6,588 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
Prerelease Checklist:
--------------------

  This is a list of things to do/try before posting a release to make sure
  the release will work as well as can be expected:

Before a dist is made:
---------------------

Update all version numbers

  * M-x load-file RET ~/cedet/cedet-update-version.el
  * M-x cuv-update
    - Answer all questions, updating verion numbers as needed.

Add a CVS tag

  * Create a new copy of CVS TRUNK
    - mkdir <some dir>
    - cvs -d <username>@cvs.sourceforge.net:/cvsroot/cedet co cedet
    - mv cedet cedet-<branchname>  # (such as cedet-1p0beta3)
    - cd cedet-branchname
    - cvs tag -b <branchname>     

  * update new sandbox to branch
    - cvs update -r <branchname>

  * Apply patches to above while resolving other issues.

Update Changelogs

  * Use a fresh emacs
    - emacs -q
    - M-x load-file RET common/cedet.el RET
  * Update the Log from CVS
    - M-x load-file RET cedet-update-changelog.el RET
    - M-x cuc-update-all-changelogs RET

Build a DIST file

  * make dist

After a dist is made:
--------------------

CEDET & Common area

  * Uncompress/Untar release archive.
  * Compile with Makefile:
     make
     make EMACS=xemacs
  * Build on multiple platforms
     - Linux
     - Windows
     - Other

  * Check version numbers of different tools.
     - M-x inversion-unit-test RET

     - Verify output of:
       M-x cedet-version RET
       - Check the declared version numbers.
       - Make sure that if changes were made to those modules, the version
         is updated.

  * Start in a clean Emacs:
    - Start emacs this way:

      emacs -q
      -or- 
      xemacs -q

      M-x load-file RET cedet/common/cedet.el RET

EIEIO

  * In a clean Emacs

    M-x load-file RET eieio/eieio-tests.el RET

    If it loads, the tests pass.

  * M-x eieio-browse RET

    This will list the currently loaded class hierarcies.  After using
    the test harness, and loading semantic, this should be a long list.

  * Running tests for semantic/semanticdb, and EDE both test
    other basic EIEIO features.

Semantic

  * Make sure the semanticdb inversion check against persistent file loading
    is updated if the file-format has changed.

  * In a clean Emacs  

    Visit files for different modes.  Include:
      All files in cedet/semantic/tests.
      .html file of your choice.
      .texi files from the doc directory.
      A lisp file, such as semantic.el.
      C# file
      .js javascript file
      Makefile

    Start with:
      M-x toggle-debug-on-error RET - Enable debugging within the
          parser and incremental parser.  (Usually hidden.)

    Run some unit tests:
      M-x load-library semantic-utest.el
      M-x semantic-utest-main RET

      M-x semantic-test-data-cache RET
      M-x semantic-test-throw-on-input RET

    For each supported mode:
      M-x bovinate RET - verify tags are accurate.
      M-x speedbar RET - Open the file and verify tags.
      - Check the TAGS menu for tags in that file.
      
      M-x global-semantic-highlight-edits-mode RET
      - Edit a file.  See the highlight of newly inserted text.
      - Customize `semantic-edits-verbose-flag' to be non-nil.
      - Wait for the idle scheduler, it should clean up the edits.
        - observe messages from incremental parser.  Do they relate
	  to the edits?
      - M-x bovinate RET - verify your changes are reflected.

      Visit the menu Senator->Modes
      - Enable that mode (if not already enabled) and verify the
        advertised behavior.

      - Test aspects of the Senator navigation menu.

      M-x semantic-analyze-current-context RET
       - Do this in different contexts in your language
         files.   Verify that reasonable results are returned
         such as identification of assignments, function arguments, etc.

       - Optionally, use `semantic-speedbar-analysis' instead of
         'semantic-analyze-current-context'.

       - At a location with incomplete syntax (a list of arguments
         with no close paren for instance: repeat previous step. 

      M-x semanticdb-find-test-translate-path RET
       - Verify the list matches the include files.
         You may need to check the value of
         `semanticdb-find-default-throttle' to determine what should, or
 	 should not be on the list.

      - With cursor on different types of declarations:
      M-x semantic-test-all-format-tag-functions RET
        - Verify all formats work.

      - Use your favorite semantic-enabled tool.

      M-x semantic-test-data-cache RET
        - Make sure the cache hasn't been corrupted while working on
	  all the above

  * Try semantic-regtest.el (from CVS).

Speedbar

  * In a clean Emacs

    M-x speedbar RET

    - browse through directories, expand tags in some files.
    - Special support files to try:
      - texinfo files (speedbar.texi)
      - html files
      - rmail files (RMAIL)

    M-x Info-speedbar-browser RET

    - browse through the manuals

EDE

   * In a clean Emacs

     - Examine files in the ede directory, such as:
       ede.el
       ede.texi
       NEWS

     - For files in these project, verify the Project menu
     - Try builds for these files
     - Try some other menu items

   * Create a new test project.
     - Create a new directory, and a test file.
     - M-x ede-new RET Make RET testname RET
     - M-x ede-proj-regenerate RET
     - Verify Makefile creation.
     - Create source files (like main.c, or main.el)
     - Create targets with those source files.  Verify Makefile.

     - Repeat above with an EDE project of type Automake
     - Verify construction of all automake support files like AUTHORS
       file, and running of autoconf.

COGRE

   * In a clean Emacs

     M-x cogre RET mygraph RET

     Create a block diagram.

   * In a clean Emacs

     from cogre.el, put cursor on `cogre-graph-element'

     M-x cogre-uml-quick-class RET RET

     - Verify the grpah.  (on parent, some direct children.)
     - Move some blocks around (M-f, M-b, M-n, M-p)

GENERAL

   * Run `checkdoc' against various source files to make sure
     doc strings are conforming.

DEPENDANT TOOLS
---------------

   * Test this new release against dependent tools, including:
     - JDEE
     - ECB

After patches are applied:
-------------------------

After patches are applied to the release branch, merge them back into
TRUNK.

  In a sandbox with TRUNK/HEAD active.
  * cvs update -j <branchname> filename

    - This merges changes from the branch into the trunk.
    - Use emacs to check these branch merges in.