---------------------------
testresources release notes
---------------------------


IN DEVELOPMENT
--------------

  CHANGES:

  IMPROVEMENTS:

  BUG FIXES:

  API CHANGES:

  INTERNALS:

0.2
---

  CHANGES:

    * testresources needs testtools to run the testresources test suite. You
      can still use testresources without using testtools. (Jonathan Lange)

  IMPROVEMENTS:

    * Many more docstrings. (Jonathan Lange)

    * Expanded README. (Jonathan Lange)

    * Expanded TODO. (Jonathan Lange)

    * Resources can now be reset by overriding TestResource.reset, which for
      some resources is significantly cheaper. If checking for dirtiness is
      expensive, isDirty can also be overridden.
      (James Henstridge, Robert Collins)

    * Started keeping a NEWS file! (Jonathan Lange)

    * Resource creation and destruction are traced by calling methods on the
      TestResult object that tests are being run with.
      (Robert Collins, #284125)

  BUG FIXES:

    * Calling getResource on a dirty resource now triggers a clean and re-make
      of that resource. (Jonathan Lange)

    * All resources are dropped when a test with no declared resources is run.
      (James Henstridge)

    * A dirty or changed dependency of a resource makes the resource dirty too.
      (Robert Collins, #324202)

  API CHANGES:

    * adsorbSuite is now deprecated in favour of addTest. addTest now flattens
      standard library TestSuites and distributes custom TestSuite across
      their member tests. (Jonathan Lange)

    * ResourcedTestCase.setUpResources and tearDownResources are now instance
      methods, not static methods. (Jonathan Lange)

    * All methods on TestResource are now instance methods, and thus tests
      should use instances of TestResource subclasses, not the classes
      themselves. (Jonathan Lange)

    * Now imports from testtools rather than pyunit3k. (Jonathan Lange)

    * ResourcedTestCase will now look for resources in the 'resources'
      attribute, rather than the '_resources' attribute. (Jonathan Lange)

    * ResourcedTestCase.setUpResources and tearDownResources are now instance
      methods, not static methods. (Jonathan Lange)

    * SampleTestResource has been removed. (Jonathan Lange)

    * TestResource.make has had an API change: it must now accept a
      dependency_resources parameter which is a dictionary listing the
      dependencies that will be provided to the resource. This parameter is
      provided so the resource can access its dependencies during setUp, if
      needed. (Robert Collins)

    * TestResource subclasses should override 'make' and 'clean' where they
      previously overrode '_makeResource' and '_cleanResource'.
      (Jonathan Lange)

    * TestResource.setResource has been renamed to _setResource.
      (Jonathan Lange)

  INTERNALS:

    * A lot of the tests have been split up into smaller tests. Others have
      been refactored. (Jonathan Lange)

    * If calling finishedWith on a TestResource reduces its usage count to
      zero, then the TestResource considers itself clean, i.e. _dirty is set
      to True. (Jonathan Lange)

    * OptimisingTestSuite has been refactored internally so that the way we
      switch active resources and determine the cost of switching is more
      obvious. (Jonathan Lange)
