Instead of printing the output to the log file, create log files numbered with the command number that the output correspnds to. The log file also included the data, trimmed to 1000 characters.

This makes diffing a lot easier.


git-svn-id: http://phc.googlecode.com/svn/trunk@988 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Make the missing pass error more specific.


git-svn-id: http://phc.googlecode.com/svn/trunk@989 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Replace the xml_roundtrip with one which reads from a phc instance and writes the the next one.

We construct a long series of piped command lines, such as
	phc --read-xml=pass1 --xdump=pass2 | phc -- read-xml=pass2 --xdump=pass3 ...

The final result should be the same as if it were run straight through phc without being dumped to XML. 

In actual fact, we fail in a number of places, which should be fixed. The primary lpace we fail is in names of temporary variables. We should attempt to fix that in the future.


git-svn-id: http://phc.googlecode.com/svn/trunk@990 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Re-enable a couple of assertions.


git-svn-id: http://phc.googlecode.com/svn/trunk@991 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Fix some typos, and tidy up some language.


git-svn-id: http://phc.googlecode.com/svn/trunk@992 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Since we now put logs into separate files, we no longer need to do a special diff in no_whitespace.


git-svn-id: http://phc.googlecode.com/svn/trunk@993 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
In the fix to the XML-unparser, I added extra new lines. This was probably as the result of not using a regression test, so one is also added. I resolve to use it in the future (after all, that's why its there).


git-svn-id: http://phc.googlecode.com/svn/trunk@994 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
After the pretty-printer runs, we no longer need unparser attributes. Strip_unparser_attributes removes them. To test this, we add a cb_sua test, which fails about a quarter of the time, so we dont do very well. We also use this in the canonical unparser, which fails about the same amount of time.


git-svn-id: http://phc.googlecode.com/svn/trunk@995 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
When the test framework has only 1 output, or has a series outputs which are all blank, dont print the test.log.0, test.log.1 etc.


git-svn-id: http://phc.googlecode.com/svn/trunk@996 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
I was echoing a string like "Try to kill proc" as debug info. At this point, I've established that the processes do in fact die, so I'm removing the echo.


git-svn-id: http://phc.googlecode.com/svn/trunk@997 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Some tests failed due to a maketea bug. The bug has been fixed upstream, and the newly generated folds do not suffer from the bug.


git-svn-id: http://phc.googlecode.com/svn/trunk@998 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
The default unparsing was doubly_quoted, so we needed to keep track of singly_quoted strings. If the default is singly_quotes, which it is now, then we should keep track of double_quoted instead. Fixed the parser and the unparser to do this. This actually fixes a decent number of bugs already.


git-svn-id: http://phc.googlecode.com/svn/trunk@999 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
If a String has no source_rep, then it needs to be escaped before printing. Thus we split escape() into escape_dq and escape_sq for single and double quotes. We need to be able to say if a string has a source_rep -- the attempt to return NULL from get_source_rep if its missing was a disaster, so has_source_rep () is added instead.


git-svn-id: http://phc.googlecode.com/svn/trunk@1000 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Singly-quoted string need to escape a backslash as well as a single quote.


git-svn-id: http://phc.googlecode.com/svn/trunk@1001 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Refactor AttrMap: get() now uses has(), and get_string, get_boolean and get_integer all use get().


git-svn-id: http://phc.googlecode.com/svn/trunk@1002 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Echoes need to be unparsed without brackets. Currently, they rely on having the no_brackets attribute set, but that doesnt work if no attributes exist.


git-svn-id: http://phc.googlecode.com/svn/trunk@1003 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
Once the needs_user_brackets atributes is stripped, an expression like (1+2)*3 will give the wrong result. We now add a no_binop_brackets attribute to all binops created in the parser. The unparser will print brackets unless these attributes are present. Once we strip the attributes, all binops get brackets, which solves the problem. This fixes about 3 more cb_sua bugs.

This isnt the prettiest solution, but I couldn't find a better one.


git-svn-id: http://phc.googlecode.com/svn/trunk@1004 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
The continual testing script started to run slowly because tests were launching subthreads which never died. This adds an environmental variable to the test, which all subshells will inherit, so that we can identify subshells and kill them after the test finishes.


git-svn-id: http://phc.googlecode.com/svn/trunk@1005 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
I believe if forgot the to regenerate the parser file, and the source of this is a little out of sync as a result.


git-svn-id: http://phc.googlecode.com/svn/trunk@1006 bbcf20a9-8526-0410-90e2-9b3d3f589b1d
I updated this so that instead of querying the server, and parsing the results, it simply looked up a variable which was set by SVN, that being $LastChangedRev$. However, that resolves to the last time the file is changed, not the repository revision. As a result, reverting to old form (from rev 911), which parses svn info.


git-svn-id: http://phc.googlecode.com/svn/trunk@1007 bbcf20a9-8526-0410-90e2-9b3d3f589b1d