sogo/Tests/README
Wolfgang Sourdeau e8acf62eb7 Monotone-Parent: f14da511e49cf36d5c6f6a7d9fe1aed0eeda1c79
Monotone-Revision: 97edd366e5777b4193d2520fb6aafb9633a5123d

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2009-08-06T21:38:41
Monotone-Branch: ca.inverse.sogo
2009-08-06 21:38:41 +00:00

54 lines
1.8 KiB
Plaintext

setup
-----
(you need "python-xml" and "python-m2crypto" in order to run the scripts)
1) copy testconfig.py.in to testconfig.py (make sure to never EVER add it to monotone)
2) edit testconfig.py to suit your environment
3) run the test scripts
runnable scripts
----------------
webdav-sync.py
other scripts
-------------
propfind.py - a sample implementation of a PROPFIND request using webdavlib
* developers
------------
- Test methods are always prefixed with "test". Sometimes, it's easier to
track down a problem by enabling only one test at a time. One possible method
is to replace "def test" with "def xtest" and replace it back when the
problems are solved.
- Test failures start with "FAIL:". Those are the ones that indicate possible
bugs in the application, if the test is well written.
For example like this:
======================================================================
FAIL: 'modify' PUBLIC, 'view all' PRIVATE, 'view d&t' confidential
----------------------------------------------------------------------
Traceback (most recent call last):
File "./davacl.py", line 75, in testModifyPublicViewAllPrivateViewDConfidential
self._testRights({ "pu": "m", "pr": "v", "co": "d" })
File "./davacl.py", line 119, in _testRights
self._testCreate(rights)
File "./davacl.py", line 165, in _testCreate
exp_code)
File "./davacl.py", line 107, in _putEvent
% (exp_status, put.response["status"]))
AssertionError: event creation/modification: expected status code '403' (received '201')
- Test errors start with "ERRORS" and most likely indicate a bug in the test
code itself.
- Always set a doc string on the test methods, especially for complex test
cases
- When writing tests, be aware that contrary to unit tests, functional tests
often imply a logical order between the different steps