Difference between revisions of "CDD Common Problems"
Line 58: | Line 58: | ||
Solution: Make sure the push-buttons for Extraction and Execution are not pressed. The buttons are shown in the below picture. | Solution: Make sure the push-buttons for Extraction and Execution are not pressed. The buttons are shown in the below picture. | ||
[[Image:enable_exec_and_extract.png|center]] | [[Image:enable_exec_and_extract.png|center]] | ||
+ | |||
Problem: ''''My extracted test cases get overwritten in the SVN Repository, because my colleagues commit their extracted test cases which have the same name.'''' | Problem: ''''My extracted test cases get overwritten in the SVN Repository, because my colleagues commit their extracted test cases which have the same name.'''' | ||
− | Solution: Define | + | Solution: Define a new environment variable "CDD_TESTER_ID". The value of the variable will be used as suffix for all extracted test class names. So if all members of the project define a unique "CDD_TESTER_ID", the individually extracted test cases can be commited to the svn without collisions. |
+ | ATTENTION: The value of CDD_TESTER_ID has to conform to a valid Eiffel class name, e.g. it has to consist of (uppercase) letters and '_' only! | ||
+ | EXAMPLE: You define CDD_TESTER_ID and set it to value "MARKUS". Each time a new test case gets exracted for a class ROOT_CLASS, the generated class name for the test case will be CDD_TEST_ROOT_CLASS_xyz_MARKUS. Likewise it will get stored in a file called cdd_test_root_class_xyz_markus.e |
Revision as of 00:46, 9 April 2008
Problem: 'My test cases time out'
- CDD automatically aborts test cases that run longer than a given period of time. The default value (which is a few seconds) can be changed by setting the environment variable 'CDD_TESTER_TIMEOUT'. On Linux '"export CDD_TESTER_TIMEOUT=120"' sets the timeout to 120 seconds. On Windows the same thing is acomplished with '"set CDD_TESTER_TIMEOUT=120"'.
Problem: 'I cannot see the testing window.'
- Make it visible via 'View -> Tools -> CDD Output'
Problem: 'Is there some kind of CDD log window?'
- Yes there is it is called 'CDD Output'. If you don't see this window, you can make it visible via '"View -> Tools -> CDD Output"'
Problem: 'I am getting a duplicate class error' or 'I am trying to use CDD on an existing project but it doesn't work'
- If you have a look at the 'CDD output' window you will probably find the error message:
Error code: VSCN Configuration error: cluster has two classes with the same name. What to do: if both classes are needed, change name of one of them. Cluster name: erl_g_tests First class: CDD_INTERPRETER First file: "/home/aleitner/src/erl_g/src/erl_g/cdd_tests/erl_g/cdd_interpreter.e" Second class: CDD_INTERPRETER Second file: "/home/aleitner/src/erl_g/library/cdd_tests/erl_g_library/cdd_interpreter.e"
To fix this go to the project settings, to your active target, Groups -> Clusters and then select your root cluster. Open the Advanced tree-item and click on the value part of the Exclude Rules. Now add rule '/cdd_tests$' and click 'OK'.
Alternatively you can open your ecf file with a text editor. You will find a stance that looks like this:
<file_rule> <exclude>/.svn$</exclude> <exclude>/EIFGENs$</exclude> </file_rule>
Edit edit to make it looks like the following:
<file_rule> <exclude>/.svn$</exclude> <exclude>/EIFGENs$</exclude> <exclude>/cdd_tests$</exclude> </file_rule>
Problem: 'I have written or extracted a test case. How can I execute it?'
- All tests are executed in the background right after compiling automatically. You can choose to enable or disable background testing via the 'Enable/Disable automatic background execution of tests'.
Problem: 'The environment is unstable when using the .Net backend.' Solution: CDD does currently not support the .Net backend. Please use the C backend.
Problem: 'How to disable the CDD extension in EiffelStudio'
Solution: Make sure the push-buttons for Extraction and Execution are not pressed. The buttons are shown in the below picture.
Problem: 'My extracted test cases get overwritten in the SVN Repository, because my colleagues commit their extracted test cases which have the same name.'
Solution: Define a new environment variable "CDD_TESTER_ID". The value of the variable will be used as suffix for all extracted test class names. So if all members of the project define a unique "CDD_TESTER_ID", the individually extracted test cases can be commited to the svn without collisions.
ATTENTION: The value of CDD_TESTER_ID has to conform to a valid Eiffel class name, e.g. it has to consist of (uppercase) letters and '_' only!
EXAMPLE: You define CDD_TESTER_ID and set it to value "MARKUS". Each time a new test case gets exracted for a class ROOT_CLASS, the generated class name for the test case will be CDD_TEST_ROOT_CLASS_xyz_MARKUS. Likewise it will get stored in a file called cdd_test_root_class_xyz_markus.e