subjects
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
A quick description of the purpose of each directory. Note that in general, test cases should be short, and in the case of long tests, errors should be moved to a separate short test. 3rdparty/ Within the testing framework, 3rdparty/ is a special directory. It uses its own label file, 3rdparty/labels/, and tests in this directory are normally considered 'long' (i.e. you need -l to run them). We generally put applications in here to test them. bugs/ Test cases from bug reports that were sent to us. Named in the order they were filed. codegen/ If there is something special to be done for a particular feature when generating code, there should be a test case in here. dynamic/ Tests dealing with dynamic features (typing probably not included, unless its interesting) should go in here. errors/ PHP run-time errors (and some warnings) which we have moved to compile-time errors. There's a fine line between errors/ and invalid/, sometimes. horrible/ A list of difficult parsing problems. inline-c/ We allow inlined C to test certain features in codegen. This is for testing only, and should certainly not be used by anybody. parsing/ Tests to hit every bit of the parser. General tests are also put in here. phc/ Test features of phc, such as command-line options, as opposed to supported PHP features. php_bugs/ Test cases from bug reports submitted to PHP bugzilla. There help us with corner cases when something is being implemented. reduced/ When we reduce test cases to isolate a problem, we copy the reduced case here. Normally, we'd add a comment indicating its origin. These are named in the order they are created. unsupported/ Some things are a combination of silly, not widely used, unsafe, dont make sense for a compiler, or most importantly, very difficult to support. warnings/ Currently, the difference between errors and warnings (and sometimes invalid) is a little bit vague. Supposedly tests which cause warnings should be in here, but occasionally, they're in errors/ instead.