##// END OF EJS Templates
Updated docs to reflect changes in our test running.
Fernando Perez -
Show More
@@ -12,44 +12,6 b''
12 12 What's new
13 13 ==========
14 14
15 .. contents::
16 ..
17 1 Release dev
18 1.1 New features
19 1.2 Bug fixes
20 1.3 Backwards incompatible changes
21 2 Release 0.10
22 2.1 New features
23 2.2 Bug fixes
24 2.3 Backwards incompatible changes
25 3 Release 0.9.1
26 4 Release 0.9
27 4.1 New features
28 4.2 Bug fixes
29 4.3 Backwards incompatible changes
30 4.4 Changes merged in from IPython1
31 4.4.1 New features
32 4.4.2 Bug fixes
33 4.4.3 Backwards incompatible changes
34 5 Release 0.8.4
35 6 Release 0.8.3
36 7 Release 0.8.2
37 8 Older releases
38 ..
39
40 Release dev
41 ===========
42
43 New features
44 ------------
45
46 Bug fixes
47 ---------
48
49 Backwards incompatible changes
50 ------------------------------
51
52
53 15 Release 0.10
54 16 ============
55 17
@@ -90,6 +52,7 b' alphabetical order by first name):'
90 52 * Robert Kern: several extensions.
91 53 * Sameer D'Costa: help on critical bug #269966.
92 54 * Stephan Peijnik: feedback on Debian compliance and many man pages.
55 * Steven Bethard: we are now shipping his :mod:`argparse` module.
93 56 * Tom Fetherston: many improvements to :mod:`IPython.demo` module.
94 57 * Ville Vainio: lots of work everywhere (features, bug fixes, etc).
95 58 * Vishal Vasta: ssh support in ipcluster.
@@ -126,8 +89,6 b' New features'
126 89 using the `Numpy Documentation Standard`_ for all docstrings, and we have
127 90 tried to update as many existing ones as possible to this format.
128 91
129 .. _Numpy Documentation Standard: http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines#docstring-standard
130
131 92 * The new :mod:`IPython.Extensions.ipy_pretty` extension by Robert Kern
132 93 provides configurable pretty-printing.
133 94
@@ -140,7 +101,8 b' New features'
140 101 :mod:`IPython.external` package, so we can use it internally and it is also
141 102 available to any IPython user. By installing it in this manner, we ensure
142 103 zero conflicts with any system-wide installation you may already have while
143 minimizing external dependencies for new users.
104 minimizing external dependencies for new users. In IPython 0.10, We ship
105 argparse version 1.0.
144 106
145 107 * An improved and much more robust test suite, that runs groups of tests in
146 108 separate subprocesses using either Nose or Twisted's :command:`trial` runner
@@ -173,8 +135,6 b' New features'
173 135 should be considered a technology preview. We plan on changing the API in
174 136 significant ways before it is final.
175 137
176 * The :mod:`argparse` module has been added to :mod:`IPython.external`.
177
178 138 * Full description of the security model added to the docs.
179 139
180 140 * cd completer: show bookmarks if no other completions are available.
@@ -188,6 +148,10 b' New features'
188 148 * %edit: If you do '%edit pasted_block', pasted_block variable gets updated
189 149 with new data (so repeated editing makes sense)
190 150
151 .. _Numpy Documentation Standard: http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines#docstring-standard
152
153 .. _argparse: http://code.google.com/p/argparse/
154
191 155 Bug fixes
192 156 ---------
193 157
@@ -240,6 +204,9 b' Bug fixes'
240 204 * Bug #274067 'The code in get_home_dir is broken for py2exe' was
241 205 fixed.
242 206
207 * Many other small bug fixes not listed here by number (see the bzr log for
208 more info).
209
243 210 Backwards incompatible changes
244 211 ------------------------------
245 212
@@ -164,6 +164,45 b' ready to be merged. What types of things will we be looking for:'
164 164 Once your changes have been reviewed and approved, someone will merge them
165 165 into the main development branch.
166 166
167
168 Some notes for core developers when merging third-party contributions
169 =====================================================================
170
171 Core developers, who ultimately merge any approved branch (from themselves,
172 another developer, or any third-party contribution) will typically use
173 :command:`bzr merge` to merge the branch into the trunk and push it to the main
174 Launcphad site. This is a short list of things to keep in mind when doing this
175 process, so that the project history is easy to understand in the long run, and
176 that generating release notes is as painless and accurate as possible.
177
178 - When you merge any non-trivial functionality (from one small bug fix to a big
179 feature branch), please remember to always edit the changes_ file
180 accordingly. This file has one main section for each release, and if you
181 edit it as you go, noting what new features, bug fixes or API changes you
182 have made, the release notes will be almost finished when they are needed
183 later. This is much easier if done when you merge the work, rather than
184 weeks or months later by re-reading a massive Bazaar log.
185
186 - When big merges are done, the practice of putting a summary commit message in
187 the merge is *extremely* useful. It makes this kind of job much nicer,
188 because that summary log message can be almost copy/pasted without changes,
189 if it was well written, rather than dissecting the next-level messages from
190 the individual commits.
191
192 - It's important that we remember to always credit who gave us something if
193 it's not the committer. In general, we have been fairly good on this front,
194 this is just a reminder to keep things up. As a note, if you are ever
195 committing something that is completely (or almost so) a third-party
196 contribution, do the commit as::
197
198 $ bzr commit --author="Someone Else"
199
200 This way it will show that name separately in the log, which makes it even
201 easier to spot. Obviously we often rework third party contributions
202 extensively, but this is still good to keep in mind for cases when we don't
203 touch the code too much.
204
205
167 206 Documentation
168 207 =============
169 208
@@ -317,12 +356,18 b' it, you can find this script in the :file:`scripts` directory)::'
317 356
318 357 $ iptest
319 358
320 This command runs Nose with the proper options and extensions. By default,
321 :command:`iptest` runs the entire IPython test suite (skipping tests that may
322 be platform-specific or which depend on tools you may not have). But you can
323 also use it to run only one specific test file, or a specific test function.
324 For example, this will run only the :file:`test_magic` file from the test
325 suite::
359 This command colects all IPython tests into separate groups, and then calls
360 either Nose with the proper options and extensions, or Twisted's
361 :command:`trial`. This ensures that tests that need the Twisted reactor
362 management facilities execute separate of Nose. If any individual test group
363 fails, :command:`iptest` will print what you need to type so you can rerun that
364 particular test group alone for debugging.
365
366 By default, :command:`iptest` runs the entire IPython test
367 suite (skipping tests that may be platform-specific or which depend on tools
368 you may not have). But you can also use it to run only one specific test file,
369 or a specific test function. For example, this will run only the
370 :file:`test_magic` file from the test suite::
326 371
327 372 $ iptest IPython.tests.test_magic
328 373 ----------------------------------------------------------------------
@@ -345,36 +390,6 b' nosetests option. For example, you can use ``--pdb`` or ``--pdb-failures`` to'
345 390 automatically activate the interactive Pdb debugger on errors or failures. See
346 391 the nosetests documentation for further details.
347 392
348 .. warning::
349
350 Note that right now we have a nasty interaction between ipdoctest and
351 twisted. Until we figure this out, please use the following instructions to
352 ensure that at least you run all the tests.
353
354 Right now, if you now run::
355
356 $ iptest [any options] [any submodules]
357
358 it will NOT load ipdoctest but won't cause any Twisted problems.
359
360 Once you're happy that you didn't break Twisted, run::
361
362 $ iptest --with-ipdoctest [any options] [any submodules]
363
364 This MAY give a Twisted AlreadyCalledError exception at the end, but it will
365 also correctly load up all of the ipython-specific tests and doctests.
366
367 The above can be made easier with a trivial shell alias::
368
369 $ alias iptest2='iptest --with-ipdoctest'
370
371 So that you can run::
372
373 $ iptest ...
374 # Twisted happy
375 # iptest2 ...
376 # ignore possible Twisted error, this checks all the rest.
377
378 393
379 394 A few tips for writing tests
380 395 ----------------------------
@@ -450,6 +465,12 b' Release checklist'
450 465 Most of the release process is automated by the :file:`release` script in the
451 466 :file:`tools` directory. This is just a handy reminder for the release manager.
452 467
468 #. First, run :file:`build_release`, which does all the file checking and
469 building that the real release script will do. This will let you do test
470 installations, check that the build procedure runs OK, etc. You may want to
471 disable a few things like multi-version RPM building while testing, because
472 otherwise the build takes really long.
473
453 474 #. Run the release script, which makes the tar.gz, eggs and Win32 .exe
454 475 installer. It posts them to the site and registers the release with PyPI.
455 476
General Comments 0
You need to be logged in to leave comments. Login now