See ChangeLog

Monotone-Parent: f1c001048ccc36181a09a459327f563dbc26e12f
Monotone-Revision: aab1e060a1d26a9624f7f84c30d1414ca1969560

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2010-01-24T20:40:12
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Ludovic Marcotte 2010-01-24 20:40:12 +00:00
parent 3efde51b62
commit 00e3963a96
25 changed files with 66 additions and 54 deletions

View File

@ -21,4 +21,4 @@ SOPE/NGCards/samples/CardElement.m
SOPE/NGCards/samples/CardGroup.m
SOPE/NGCards/samples/CardVersitRenderer.m
SOPE/NGCards/samples/NGCardsSaxHandler.m
Tests/config.py
Tests/Integration/config.py

View File

@ -1,3 +1,7 @@
2010-01-24 Ludovic Marcotte <lmarcotte@inverse.ca>
* Reorganized the layout of automated tests.
2010-01-22 Francis Lachapelle <flachapelle@inverse.ca>
* UI/Contacts/UIxListEditor.m (-references): avoid printing the

View File

@ -0,0 +1,56 @@
setup
-----
(you need "python-simplejson", "python-xml", "python-vobject" and "python-m2crypto"
in order to run the scripts on Debian)
1) copy config.py.in to config.py (make sure to never EVER add it to monotone)
2) edit config.py to suit your environment
3) run the test scripts
runnable scripts
----------------
all.py - run all scripts below at once
test-webdavsync.py - explicit
test-davacl.py - dav acl tests for calendar and addressbook modules
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 itself known to work.
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.

View File

@ -1,56 +1,8 @@
setup
-----
This directory holds automated tests for SOGo.
(you need "python-simplejson", "python-xml", "python-vobject" and "python-m2crypto"
in order to run the scripts on Debian)
We currrently have:
1) copy config.py.in to config.py (make sure to never EVER add it to monotone)
2) edit config.py to suit your environment
3) run the test scripts
- Intregation holds all interated tests that are used to
validate overall DAV functionality right now
runnable scripts
----------------
all.py - run all scripts below at once
test-webdavsync.py - explicit
test-davacl.py - dav acl tests for calendar and addressbook modules
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 itself known to work.
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.
- Unit holds all unit tests