• check flags:
  • building check-recursive
    • Making check in src
    • make[1]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src'
      • building check-recursive
        • Making check in grammar
        • make[2]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src/grammar'
          • make[2]: Nothing to be done for `check'.
          • make[2]: Leaving directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src/grammar'
        • Making check in lib
        • make[2]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src/lib'
          • make[2]: Nothing to be done for `check'.
          • make[2]: Leaving directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src/lib'
        • Making check in tools
        • make[2]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src/tools'
          • make[2]: Nothing to be done for `check'.
          • make[2]: Leaving directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src/tools'
        • make[2]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src'
          • make[2]: Nothing to be done for `check-am'.
          • make[2]: Leaving directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src'
      • make[1]: Leaving directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/src'
    • Making check in tests
    • make[1]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/tests'
      • building check-recursive
        • Making check in grammar
        • make[2]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/tests/grammar'
          • building check-recursive
            • Making check in php
            • make[3]: Entering directory `/tmp/nix-build-v4mqzbanv3rcb2jaykj16zh9bf75m7fv-php-front.drv-0/php-front-0.1pre442/tests/grammar/php'
              • building variables45.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i variables45.testsuite -p ../../../src/grammar/PHP4Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 Variables with 45 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (simple variable 1)
                • * OK : test 2 (simple variable 2)
                • * OK : test 3 (simple variable with keyword)
                • * OK : test 4 (simple variable with keyword)
                • * OK : test 5 (Constant variable 1)
                • * OK : test 6 (Constant variable 2)
                • * OK : test 7 (Constant variable 3)
                • * OK : test 8 (Constant variable failes because of leading zero)
                • * OK : test 9 (Variable with brackets 0)
                • * OK : test 10 (Variable with brackets 1)
                • * OK : test 11 (Variable with brackets 2)
                • * OK : test 12 (Variable with brackets 3)
                • * OK : test 13 (Variable with brackets 4)
                • * OK : test 14 (Variable with brackets 5)
                • * OK : test 15 (array variable without index)
                • * OK : test 16 (array variable with index)
                • * OK : test 17 (array variable with string)
                • * OK : test 18 (array variable with constant)
                • * OK : test 19 (Array access can also be done through {} )
                • * OK : test 20 (Array access can also be done through but needs expression )
                • * OK : test 21 (reference variable)
                • * OK : test 22 (reference array variable)
                • * OK : test 23 (object property acces 1)
                • * OK : test 24 (object property acces within object property 1)
                • * OK : test 25 (object property acces within object property 2)
                • * OK : test 26 (object property acces within object property 3)
                • * OK : test 27 (object property acces 2)
                • * OK : test 28 (object property acces 3)
                • * OK : test 29 (array acces with multiple dimensions)
                • * OK : test 30 (variable object acces 1)
                • * OK : test 31 (variable object acces 2)
                • * OK : test 32 (object function call 1)
                • * OK : test 33 (object function call 2)
                • * OK : test 34 (object function call 3)
                • * OK : test 35 (object function call 4)
                • * OK : test 36 (true)
                • * OK : test 37 (TRUE)
                • * OK : test 38 (tRuE)
                • * OK : test 39 (TrUe)
                • * OK : test 40 (false)
                • * OK : test 41 (FALSE)
                • * OK : test 42 (fALse)
                • * OK : test 43 (fALsE)
                • * OK : test 44 (null)
                • * OK : test 45 (NULL)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 and PHP5 Variables
                • successes : 45
                • failures : 0
                • -----------------------------------------------------------------------
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i variables45.testsuite -p ../../../src/grammar/PHP5Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 Variables with 45 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (simple variable 1)
                • * OK : test 2 (simple variable 2)
                • * OK : test 3 (simple variable with keyword)
                • * OK : test 4 (simple variable with keyword)
                • * OK : test 5 (Constant variable 1)
                • * OK : test 6 (Constant variable 2)
                • * OK : test 7 (Constant variable 3)
                • * OK : test 8 (Constant variable failes because of leading zero)
                • * OK : test 9 (Variable with brackets 0)
                • * OK : test 10 (Variable with brackets 1)
                • * OK : test 11 (Variable with brackets 2)
                • * OK : test 12 (Variable with brackets 3)
                • * OK : test 13 (Variable with brackets 4)
                • * OK : test 14 (Variable with brackets 5)
                • * OK : test 15 (array variable without index)
                • * OK : test 16 (array variable with index)
                • * OK : test 17 (array variable with string)
                • * OK : test 18 (array variable with constant)
                • * OK : test 19 (Array access can also be done through {} )
                • * OK : test 20 (Array access can also be done through but needs expression )
                • * OK : test 21 (reference variable)
                • * OK : test 22 (reference array variable)
                • * OK : test 23 (object property acces 1)
                • * OK : test 24 (object property acces within object property 1)
                • * OK : test 25 (object property acces within object property 2)
                • * OK : test 26 (object property acces within object property 3)
                • * OK : test 27 (object property acces 2)
                • * OK : test 28 (object property acces 3)
                • * OK : test 29 (array acces with multiple dimensions)
                • * OK : test 30 (variable object acces 1)
                • * OK : test 31 (variable object acces 2)
                • * OK : test 32 (object function call 1)
                • * OK : test 33 (object function call 2)
                • * OK : test 34 (object function call 3)
                • * OK : test 35 (object function call 4)
                • * OK : test 36 (true)
                • * OK : test 37 (TRUE)
                • * OK : test 38 (tRuE)
                • * OK : test 39 (TrUe)
                • * OK : test 40 (false)
                • * OK : test 41 (FALSE)
                • * OK : test 42 (fALse)
                • * OK : test 43 (fALsE)
                • * OK : test 44 (null)
                • * OK : test 45 (NULL)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 and PHP5 Variables
                • successes : 45
                • failures : 0
                • -----------------------------------------------------------------------
              • building variables4.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i variables4.testsuite -p ../../../src/grammar/PHP4Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 Variables with 1 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (object property acces through function fails)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 Variables
                • successes : 1
                • failures : 0
                • -----------------------------------------------------------------------
              • building variables5.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i variables5.testsuite -p ../../../src/grammar/PHP5Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP5 Variables with 3 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (object property acces through function succeeds)
                • * OK : test 2 (henk()->bar)
                • * OK : test 3 (henk()->bar())
                • -----------------------------------------------------------------------
                • results testsuite PHP5 Variables
                • successes : 3
                • failures : 0
                • -----------------------------------------------------------------------
              • building numeric-literals45.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i numeric-literals45.testsuite -p ../../../src/grammar/PHP4Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 literals with 15 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (positive integer)
                • * OK : test 2 (positive integer with zero)
                • * OK : test 3 (positive integer with sign)
                • * OK : test 4 (negative integer)
                • * OK : test 5 (octal integer)
                • * OK : test 6 (octal integer with 7)
                • * OK : test 7 (octal integer goes with 8 and 9 (1))
                • * OK : test 8 (octal integer goes to with 8 and 9 (2))
                • * OK : test 9 (hexadecimal integer)
                • * OK : test 10 (simple float)
                • * OK : test 11 (simple float without pre)
                • * OK : test 12 (simple float without post)
                • * OK : test 13 (exponential float)
                • * OK : test 14 (exponential float with minus)
                • * OK : test 15 (exponential float with plus)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 and PHP5 literals
                • successes : 15
                • failures : 0
                • -----------------------------------------------------------------------
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i numeric-literals45.testsuite -p ../../../src/grammar/PHP5Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 literals with 15 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (positive integer)
                • * OK : test 2 (positive integer with zero)
                • * OK : test 3 (positive integer with sign)
                • * OK : test 4 (negative integer)
                • * OK : test 5 (octal integer)
                • * OK : test 6 (octal integer with 7)
                • * OK : test 7 (octal integer goes with 8 and 9 (1))
                • * OK : test 8 (octal integer goes to with 8 and 9 (2))
                • * OK : test 9 (hexadecimal integer)
                • * OK : test 10 (simple float)
                • * OK : test 11 (simple float without pre)
                • * OK : test 12 (simple float without post)
                • * OK : test 13 (exponential float)
                • * OK : test 14 (exponential float with minus)
                • * OK : test 15 (exponential float with plus)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 and PHP5 literals
                • successes : 15
                • failures : 0
                • -----------------------------------------------------------------------
              • building double-quoted-literals45.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i double-quoted-literals45.testsuite -p ../../../src/grammar/PHP4Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP double quoted literals with 127 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (simple string literal Double quoted)
                • * OK : test 2 (simple string literal Double quoted with random slash)
                • * OK : test 3 (simple string literal Double quoted with single slash)
                • * OK : test 4 (Double quoted with linefeed escaped)
                • * OK : test 5 (Double quoted with actual linefeed)
                • * OK : test 6 (Double quoted with tab escaped)
                • * OK : test 7 (Double quoted with actual tab)
                • * OK : test 8 (Double quoted with dollar escaped)
                • * OK : test 9 (Double quoted with carriage escaped)
                • * OK : test 10 (Double quoted with quote escaped)
                • * OK : test 11 (Hexa number 1)
                • * OK : test 12 (Hexa number 2)
                • * OK : test 13 (Hexa number)
                • * OK : test 14 (Hexa number)
                • * OK : test 15 (Hexa number)
                • * OK : test 16 (Hexa number)
                • * OK : test 17 (Hexa number)
                • * OK : test 18 (Hexa number)
                • * OK : test 19 (Hexa number)
                • * OK : test 20 (Hexa number)
                • * OK : test 21 (Not a hexa number, slash escaped)
                • * OK : test 22 (Octal number)
                • * OK : test 23 (Octal number)
                • * OK : test 24 (Octal number)
                • * OK : test 25 (Octal number)
                • * OK : test 26 (Octal number)
                • * OK : test 27 (Not an octal number, slash escaped)
                • * OK : test 28 (Not an octal number, slash escaped)
                • * OK : test 29 ("Hello $name ")
                • * OK : test 30 ("hello ${name}")
                • * OK : test 31 ("hello ${name}s")
                • * OK : test 32 ("A banana is $fruits[banana].")
                • * OK : test 33 ("A banana is {$fruits['banana']}.")
                • * OK : test 34 ("A banana is {$fruits[banana]}")
                • * OK : test 35 ("A banana is $fruits['banana'].")
                • * OK : test 36 ("This square is $square->width meters broad")
                • * OK : test 37 ("This square is $square->width00 centimeters broad")
                • * OK : test 38 ("A banana is $fruits[].")
                • * OK : test 39 ("This is { $great}")
                • * OK : test 40 ("This is {$great}")
                • * OK : test 41 ("This is ${great}")
                • * OK : test 42 ("This square is {$square->width}00 centimeters broad.")
                • * OK : test 43 ("This works: {$arr[4][3]}")
                • * OK : test 44 ("This is wrong: {$arr[foo][3]}")
                • * OK : test 45 ("This works: {$arr['foo'][3]}")
                • * OK : test 46 ("You can even write {$obj->values[3]->name}")
                • * OK : test 47 ("This is the value of the var named $name: {${$name}}")
                • * OK : test 48 (simple string literal Heredoc format)
                • * OK : test 49 (simple string literal Heredoc format, layout allowed between <<< and label)
                • * OK : test 50 (simple string literal Heredoc format)
                • * OK : test 51 (simple string literal Heredoc format)
                • * OK : test 52 (failing hereDoc because of space)
                • * OK : test 53 (simple string literal HereDoc)
                • * OK : test 54 (simple string literal HereDoc with random slash)
                • * OK : test 55 (simple string literal HereDoc with single slash)
                • * OK : test 56 (HereDoc with linefeed escaped)
                • * OK : test 57 (HereDoc with actual linefeed)
                • * OK : test 58 (HereDoc with tab escaped)
                • * OK : test 59 (HereDoc with actual tab)
                • * OK : test 60 (HereDoc with dollar escaped)
                • * OK : test 61 (HereDoc with carriage escaped)
                • * OK : test 62 (HereDoc with quote escaped)
                • * OK : test 63 (Hexa number 1)
                • * OK : test 64 (Hexa number 2)
                • * OK : test 65 (Hexa number 3)
                • * OK : test 66 (Hexa number 4)
                • * OK : test 67 (Hexa number 5)
                • * OK : test 68 (Hexa number 6)
                • * OK : test 69 (Hexa number 7)
                • * OK : test 70 (Hexa number 8)
                • * OK : test 71 (Hexa number 9)
                • * OK : test 72 (Hexa number)
                • * OK : test 73 (Not a hexa number, slash escaped)
                • * OK : test 74 (Octal number)
                • * OK : test 75 (Octal number)
                • * OK : test 76 (Octal number)
                • * OK : test 77 (Octal number)
                • * OK : test 78 (Octal number)
                • * OK : test 79 (Not an octal number, slash escaped)
                • * OK : test 80 (Not an octal number, slash escaped)
                • * OK : test 81 (<<<EOD Hello $name
                • EOD
                • )
                • * OK : test 82 (<<<EOD hello ${name}
                • EOD
                • )
                • * OK : test 83 (<<<EOD hello ${name}s
                • EOD
                • )
                • * OK : test 84 (<<<EOD A banana is $fruits[banana].
                • EOD
                • )
                • * OK : test 85 (<<<EOD A banana is {$fruits[banana]}
                • EOD
                • )
                • * OK : test 86 (<<<EOD A banana is $fruits['banana'].
                • EOD
                • )
                • * OK : test 87 (<<<EOD This square is $square->width meters broad
                • EOD
                • )
                • * OK : test 88 (<<<EOD This square is $square->width00 centimeters broad
                • EOD
                • )
                • * OK : test 89 (<<<EOD A banana is $fruits[].
                • EOD
                • )
                • * OK : test 90 (<<<EOD This is { $great}
                • EOD
                • )
                • * OK : test 91 (<<<EOD This is {$great}
                • EOD
                • )
                • * OK : test 92 (<<<EOD This is ${great}
                • EOD
                • )
                • * OK : test 93 (<<<EOD This square is {$square->width}00 centimeters broad.
                • EOD
                • )
                • * OK : test 94 (<<<EOD This works: {$arr[4][3]}
                • EOD
                • )
                • * OK : test 95 (<<<EOD This is wrong: {$arr[foo][3]}
                • EOD
                • )
                • * OK : test 96 (<<<EOD You can even write {$obj->values[3]->name}
                • EOD
                • )
                • * OK : test 97 (<<<EOD This is the value of the var named $name: {${$name}}
                • EOD
                • )
                • * OK : test 98 (<<<EOD
                • Example of string
                • spanning multiple lines
                • using heredoc syntax.
                • EOD
                • )
                • * OK : test 99 (<<<EOT
                • My name is "$name". I am printing some $foo->foo.
                • Now, I am printing some {$foo->bar[1]}.
                • This should print a capital 'A': \x41
                • EOT
                • )
                • * OK : test 100 (<<<EOT
                • $name goo
                • this goes wrong
                • EOT
                • )
                • * OK : test 101 (<<<EOD
                • We are having problems with
                • strings that have a $var in them
                • EOD
                • )
                • * OK : test 102 ("$dumpname-$dtime.csv")
                • * OK : test 103 ("$dumpname $dtime.csv")
                • * OK : test 104 ("$dumpname - $dtime.csv")
                • * OK : test 105 ("$dumpname+$dtime.csv")
                • * OK : test 106 ("$dumpname*$dtime.csv")
                • * OK : test 107 ("WHERE bid='{$blocks[$seq]}'")
                • * OK : test 108 ("UPDATE {$this->db_prefix}cmsblock SET sequence=($seq+1) WHERE bid='{$blocks[$seq]}' AND pid='$pid'")
                • * OK : test 109 ("$bar[1]")
                • * OK : test 110 ("$bar[$foo]")
                • * OK : test 111 ("{$bar[5-1]}")
                • * OK : test 112 ("{$bar[foo()]}")
                • * OK : test 113 (PSAT-59: $ in regular expression)
                • * OK : test 114 (PSAT-59: $ in string literal)
                • * OK : test 115 (PSAT-59: $ in string literal)
                • * OK : test 116 (PSAT-79: $1 in string literal is string literal)
                • * OK : test 117 (PSAT-79: variable object property in string literal)
                • * OK : test 118 (PSAT-79: array accesses and brackets 1)
                • * OK : test 119 (PSAT-79: array accesses and brackets 2)
                • * OK : test 120 (PSAT-79: array accesses and brackets 3)
                • * OK : test 121 (PSAT-79: array accesses and brackets 4 )
                • * OK : test 122 (PSAT-79: array acces and brackets 5)
                • * OK : test 123 (PSAT-79: array accesses and brackets 6)
                • * OK : test 124 (PSAT-79: array accesses and brackets 6)
                • * OK : test 125 (follow restrictions (1))
                • * OK : test 126 (follow restrictions (2))
                • * OK : test 127 (heredoc with _)
                • -----------------------------------------------------------------------
                • results testsuite PHP double quoted literals
                • successes : 127
                • failures : 0
                • -----------------------------------------------------------------------
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i double-quoted-literals45.testsuite -p ../../../src/grammar/PHP5Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP double quoted literals with 127 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (simple string literal Double quoted)
                • * OK : test 2 (simple string literal Double quoted with random slash)
                • * OK : test 3 (simple string literal Double quoted with single slash)
                • * OK : test 4 (Double quoted with linefeed escaped)
                • * OK : test 5 (Double quoted with actual linefeed)
                • * OK : test 6 (Double quoted with tab escaped)
                • * OK : test 7 (Double quoted with actual tab)
                • * OK : test 8 (Double quoted with dollar escaped)
                • * OK : test 9 (Double quoted with carriage escaped)
                • * OK : test 10 (Double quoted with quote escaped)
                • * OK : test 11 (Hexa number 1)
                • * OK : test 12 (Hexa number 2)
                • * OK : test 13 (Hexa number)
                • * OK : test 14 (Hexa number)
                • * OK : test 15 (Hexa number)
                • * OK : test 16 (Hexa number)
                • * OK : test 17 (Hexa number)
                • * OK : test 18 (Hexa number)
                • * OK : test 19 (Hexa number)
                • * OK : test 20 (Hexa number)
                • * OK : test 21 (Not a hexa number, slash escaped)
                • * OK : test 22 (Octal number)
                • * OK : test 23 (Octal number)
                • * OK : test 24 (Octal number)
                • * OK : test 25 (Octal number)
                • * OK : test 26 (Octal number)
                • * OK : test 27 (Not an octal number, slash escaped)
                • * OK : test 28 (Not an octal number, slash escaped)
                • * OK : test 29 ("Hello $name ")
                • * OK : test 30 ("hello ${name}")
                • * OK : test 31 ("hello ${name}s")
                • * OK : test 32 ("A banana is $fruits[banana].")
                • * OK : test 33 ("A banana is {$fruits['banana']}.")
                • * OK : test 34 ("A banana is {$fruits[banana]}")
                • * OK : test 35 ("A banana is $fruits['banana'].")
                • * OK : test 36 ("This square is $square->width meters broad")
                • * OK : test 37 ("This square is $square->width00 centimeters broad")
                • * OK : test 38 ("A banana is $fruits[].")
                • * OK : test 39 ("This is { $great}")
                • * OK : test 40 ("This is {$great}")
                • * OK : test 41 ("This is ${great}")
                • * OK : test 42 ("This square is {$square->width}00 centimeters broad.")
                • * OK : test 43 ("This works: {$arr[4][3]}")
                • * OK : test 44 ("This is wrong: {$arr[foo][3]}")
                • * OK : test 45 ("This works: {$arr['foo'][3]}")
                • * OK : test 46 ("You can even write {$obj->values[3]->name}")
                • * OK : test 47 ("This is the value of the var named $name: {${$name}}")
                • * OK : test 48 (simple string literal Heredoc format)
                • * OK : test 49 (simple string literal Heredoc format, layout allowed between <<< and label)
                • * OK : test 50 (simple string literal Heredoc format)
                • * OK : test 51 (simple string literal Heredoc format)
                • * OK : test 52 (failing hereDoc because of space)
                • * OK : test 53 (simple string literal HereDoc)
                • * OK : test 54 (simple string literal HereDoc with random slash)
                • * OK : test 55 (simple string literal HereDoc with single slash)
                • * OK : test 56 (HereDoc with linefeed escaped)
                • * OK : test 57 (HereDoc with actual linefeed)
                • * OK : test 58 (HereDoc with tab escaped)
                • * OK : test 59 (HereDoc with actual tab)
                • * OK : test 60 (HereDoc with dollar escaped)
                • * OK : test 61 (HereDoc with carriage escaped)
                • * OK : test 62 (HereDoc with quote escaped)
                • * OK : test 63 (Hexa number 1)
                • * OK : test 64 (Hexa number 2)
                • * OK : test 65 (Hexa number 3)
                • * OK : test 66 (Hexa number 4)
                • * OK : test 67 (Hexa number 5)
                • * OK : test 68 (Hexa number 6)
                • * OK : test 69 (Hexa number 7)
                • * OK : test 70 (Hexa number 8)
                • * OK : test 71 (Hexa number 9)
                • * OK : test 72 (Hexa number)
                • * OK : test 73 (Not a hexa number, slash escaped)
                • * OK : test 74 (Octal number)
                • * OK : test 75 (Octal number)
                • * OK : test 76 (Octal number)
                • * OK : test 77 (Octal number)
                • * OK : test 78 (Octal number)
                • * OK : test 79 (Not an octal number, slash escaped)
                • * OK : test 80 (Not an octal number, slash escaped)
                • * OK : test 81 (<<<EOD Hello $name
                • EOD
                • )
                • * OK : test 82 (<<<EOD hello ${name}
                • EOD
                • )
                • * OK : test 83 (<<<EOD hello ${name}s
                • EOD
                • )
                • * OK : test 84 (<<<EOD A banana is $fruits[banana].
                • EOD
                • )
                • * OK : test 85 (<<<EOD A banana is {$fruits[banana]}
                • EOD
                • )
                • * OK : test 86 (<<<EOD A banana is $fruits['banana'].
                • EOD
                • )
                • * OK : test 87 (<<<EOD This square is $square->width meters broad
                • EOD
                • )
                • * OK : test 88 (<<<EOD This square is $square->width00 centimeters broad
                • EOD
                • )
                • * OK : test 89 (<<<EOD A banana is $fruits[].
                • EOD
                • )
                • * OK : test 90 (<<<EOD This is { $great}
                • EOD
                • )
                • * OK : test 91 (<<<EOD This is {$great}
                • EOD
                • )
                • * OK : test 92 (<<<EOD This is ${great}
                • EOD
                • )
                • * OK : test 93 (<<<EOD This square is {$square->width}00 centimeters broad.
                • EOD
                • )
                • * OK : test 94 (<<<EOD This works: {$arr[4][3]}
                • EOD
                • )
                • * OK : test 95 (<<<EOD This is wrong: {$arr[foo][3]}
                • EOD
                • )
                • * OK : test 96 (<<<EOD You can even write {$obj->values[3]->name}
                • EOD
                • )
                • * OK : test 97 (<<<EOD This is the value of the var named $name: {${$name}}
                • EOD
                • )
                • * OK : test 98 (<<<EOD
                • Example of string
                • spanning multiple lines
                • using heredoc syntax.
                • EOD
                • )
                • * OK : test 99 (<<<EOT
                • My name is "$name". I am printing some $foo->foo.
                • Now, I am printing some {$foo->bar[1]}.
                • This should print a capital 'A': \x41
                • EOT
                • )
                • * OK : test 100 (<<<EOT
                • $name goo
                • this goes wrong
                • EOT
                • )
                • * OK : test 101 (<<<EOD
                • We are having problems with
                • strings that have a $var in them
                • EOD
                • )
                • * OK : test 102 ("$dumpname-$dtime.csv")
                • * OK : test 103 ("$dumpname $dtime.csv")
                • * OK : test 104 ("$dumpname - $dtime.csv")
                • * OK : test 105 ("$dumpname+$dtime.csv")
                • * OK : test 106 ("$dumpname*$dtime.csv")
                • * OK : test 107 ("WHERE bid='{$blocks[$seq]}'")
                • * OK : test 108 ("UPDATE {$this->db_prefix}cmsblock SET sequence=($seq+1) WHERE bid='{$blocks[$seq]}' AND pid='$pid'")
                • * OK : test 109 ("$bar[1]")
                • * OK : test 110 ("$bar[$foo]")
                • * OK : test 111 ("{$bar[5-1]}")
                • * OK : test 112 ("{$bar[foo()]}")
                • * OK : test 113 (PSAT-59: $ in regular expression)
                • * OK : test 114 (PSAT-59: $ in string literal)
                • * OK : test 115 (PSAT-59: $ in string literal)
                • * OK : test 116 (PSAT-79: $1 in string literal is string literal)
                • * OK : test 117 (PSAT-79: variable object property in string literal)
                • * OK : test 118 (PSAT-79: array accesses and brackets 1)
                • * OK : test 119 (PSAT-79: array accesses and brackets 2)
                • * OK : test 120 (PSAT-79: array accesses and brackets 3)
                • * OK : test 121 (PSAT-79: array accesses and brackets 4 )
                • * OK : test 122 (PSAT-79: array acces and brackets 5)
                • * OK : test 123 (PSAT-79: array accesses and brackets 6)
                • * OK : test 124 (PSAT-79: array accesses and brackets 6)
                • * OK : test 125 (follow restrictions (1))
                • * OK : test 126 (follow restrictions (2))
                • * OK : test 127 (heredoc with _)
                • -----------------------------------------------------------------------
                • results testsuite PHP double quoted literals
                • successes : 127
                • failures : 0
                • -----------------------------------------------------------------------
              • building single-quoted-literals45.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i single-quoted-literals45.testsuite -p ../../../src/grammar/PHP4Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 single quoted literals with 9 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (simple string literal Single quoted)
                • * OK : test 2 (string literal Single quoted with quote)
                • * OK : test 3 (string literal Single quoted with slash)
                • * OK : test 4 (string literal Single quoted with newline escape)
                • * OK : test 5 (string literal Single quoted no variable expanding)
                • * OK : test 6 (string literal Single quoted with embedded newline)
                • * OK : test 7 (string literal with multiple slashes 1)
                • * OK : test 8 (string literal with multiple slashes 2)
                • * OK : test 9 (Ambiguity bug in single quoted literals)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 and PHP5 single quoted literals
                • successes : 9
                • failures : 0
                • -----------------------------------------------------------------------
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i single-quoted-literals45.testsuite -p ../../../src/grammar/PHP5Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 single quoted literals with 9 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (simple string literal Single quoted)
                • * OK : test 2 (string literal Single quoted with quote)
                • * OK : test 3 (string literal Single quoted with slash)
                • * OK : test 4 (string literal Single quoted with newline escape)
                • * OK : test 5 (string literal Single quoted no variable expanding)
                • * OK : test 6 (string literal Single quoted with embedded newline)
                • * OK : test 7 (string literal with multiple slashes 1)
                • * OK : test 8 (string literal with multiple slashes 2)
                • * OK : test 9 (Ambiguity bug in single quoted literals)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 and PHP5 single quoted literals
                • successes : 9
                • failures : 0
                • -----------------------------------------------------------------------
              • building comments45.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i comments45.testsuite -p ../../../src/grammar/PHP4Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite Comments with 36 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (basic end of line comment (1))
                • * OK : test 2 (basic end of line comment (2))
                • * OK : test 3 (basic end of line comment at end of file.)
                • * OK : test 4 (basic long comment (1))
                • * OK : test 5 (basic long comment (2)"))
                • * OK : test 6 (Silly (1))
                • * OK : test 7 (Silly (2))
                • * OK : test 8 (/* anything */ is a comment (1))
                • * OK : test 9 (/* anything */ is a comment (2))
                • * OK : test 10 (/* */ comment can span multiple lines)
                • * OK : test 11 (// comment inside /* */ comment is ignored)
                • * OK : test 12 (// comment inside // comment is ignored)
                • * OK : test 13 (/* */ comment inside // comment is ignored)
                • * OK : test 14 (/* or // inside /* */ comment is ignored)
                • * OK : test 15 (/* or // inside /** */ comment is ignored)
                • * OK : test 16 (/**/ is a documentation comment)
                • * OK : test 17 (// comment separates tokens)
                • * OK : test 18 (/**/ comment separates tokens")
                • * OK : test 19 (/**/ comment cannot appear in literal"))
                • * OK : test 20 (// comment cannot appear in literal"))
                • * OK : test 21 (/* must have matching */)
                • * OK : test 22 (// may not end at EOF, only LineTerminator (incompatible with JLS, allowed anyway: breaks some tests ... ))
                • * OK : test 23 (*/ is not a comment, but an opening for /* */)
                • * OK : test 24 (/*/ is not a comment, but an opening for /* */)
                • * OK : test 25 (/** */ doc comments are legal, in spite of)
                • * OK : test 26 (/* */ comments don't nest)
                • * OK : test 27 (/* */ comments don't nest in //)
                • * OK : test 28 (/** */ comment separates tokens)
                • * OK : test 29 (/** */ comment separates tokens)
                • * OK : test 30 (/** must have matching */)
                • * OK : test 31 (/* must have matching */)
                • * OK : test 32 (/** must have matching */)
                • * OK : test 33 (/* must have matching */)
                • * OK : test 34 (/** must have matching */)
                • * OK : test 35 (endtag end comment)
                • * OK : test 36 (endtag end comment, ? does not)
                • -----------------------------------------------------------------------
                • results testsuite Comments
                • successes : 36
                • failures : 0
                • -----------------------------------------------------------------------
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i comments45.testsuite -p ../../../src/grammar/PHP5Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite Comments with 36 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (basic end of line comment (1))
                • * OK : test 2 (basic end of line comment (2))
                • * OK : test 3 (basic end of line comment at end of file.)
                • * OK : test 4 (basic long comment (1))
                • * OK : test 5 (basic long comment (2)"))
                • * OK : test 6 (Silly (1))
                • * OK : test 7 (Silly (2))
                • * OK : test 8 (/* anything */ is a comment (1))
                • * OK : test 9 (/* anything */ is a comment (2))
                • * OK : test 10 (/* */ comment can span multiple lines)
                • * OK : test 11 (// comment inside /* */ comment is ignored)
                • * OK : test 12 (// comment inside // comment is ignored)
                • * OK : test 13 (/* */ comment inside // comment is ignored)
                • * OK : test 14 (/* or // inside /* */ comment is ignored)
                • * OK : test 15 (/* or // inside /** */ comment is ignored)
                • * OK : test 16 (/**/ is a documentation comment)
                • * OK : test 17 (// comment separates tokens)
                • * OK : test 18 (/**/ comment separates tokens")
                • * OK : test 19 (/**/ comment cannot appear in literal"))
                • * OK : test 20 (// comment cannot appear in literal"))
                • * OK : test 21 (/* must have matching */)
                • * OK : test 22 (// may not end at EOF, only LineTerminator (incompatible with JLS, allowed anyway: breaks some tests ... ))
                • * OK : test 23 (*/ is not a comment, but an opening for /* */)
                • * OK : test 24 (/*/ is not a comment, but an opening for /* */)
                • * OK : test 25 (/** */ doc comments are legal, in spite of)
                • * OK : test 26 (/* */ comments don't nest)
                • * OK : test 27 (/* */ comments don't nest in //)
                • * OK : test 28 (/** */ comment separates tokens)
                • * OK : test 29 (/** */ comment separates tokens)
                • * OK : test 30 (/** must have matching */)
                • * OK : test 31 (/* must have matching */)
                • * OK : test 32 (/** must have matching */)
                • * OK : test 33 (/* must have matching */)
                • * OK : test 34 (/** must have matching */)
                • * OK : test 35 (endtag end comment)
                • * OK : test 36 (endtag end comment, ? does not)
                • -----------------------------------------------------------------------
                • results testsuite Comments
                • successes : 36
                • failures : 0
                • -----------------------------------------------------------------------
              • building operators45.runtestsuite
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i operators45.testsuite -p ../../../src/grammar/PHP4Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 Operators with 139 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (class creation without params 1)
                • * OK : test 2 (class creation without params 2)
                • * OK : test 3 (class creation with variable)
                • * OK : test 4 (class creation with params 1)
                • * OK : test 5 (class creation with params 2)
                • * OK : test 6 (operator : +)
                • * OK : test 7 (operator : + with variable)
                • * OK : test 8 (operator : -)
                • * OK : test 9 (operator : - with variable)
                • * OK : test 10 (operator : *)
                • * OK : test 11 (operator : * with variable)
                • * OK : test 12 (operator : /)
                • * OK : test 13 (operator : / with variable)
                • * OK : test 14 (operator : %)
                • * OK : test 15 (operator : % with variable)
                • * OK : test 16 (operator : <<)
                • * OK : test 17 (operator : << with variable)
                • * OK : test 18 (operator : >>)
                • * OK : test 19 (operator : >> with variable)
                • * OK : test 20 (cast to int)
                • * OK : test 21 (cast to int with spaces)
                • * OK : test 22 (cast to int long)
                • * OK : test 23 (cast with linebreak (not completely correct))
                • * OK : test 24 (cast to bool)
                • * OK : test 25 (cast to bool is case-insensitive)
                • * OK : test 26 (cast to bool with spaces and tab)
                • * OK : test 27 (cast to bool long)
                • * OK : test 28 (cast to float 1)
                • * OK : test 29 (cast to float 2)
                • * OK : test 30 (cast to float 3)
                • * OK : test 31 (cast to string)
                • * OK : test 32 (cast to array)
                • * OK : test 33 (cast to array with spaces )
                • * OK : test 34 (cast to object)
                • * OK : test 35 (cast to null)
                • * OK : test 36 (cast to null with spaces and tabs)
                • * OK : test 37 (increment post)
                • * OK : test 38 (increment pre)
                • * OK : test 39 (decrement post)
                • * OK : test 40 (decrement pre)
                • * OK : test 41 (new takes precedence over cast 1)
                • * OK : test 42 (new takes precedence over cast 1)
                • * OK : test 43 (increment takes precedence over cast 1)
                • * OK : test 44 (increment takes precedence over cast 2)
                • * OK : test 45 (increment takes precedence over cast 3)
                • * OK : test 46 (increment takes precedence over cast 4)
                • * OK : test 47 (unary operator takes precedence over mul)
                • * OK : test 48 (unary operator takes precedence over mul)
                • * OK : test 49 (unary operator takes precedence over div)
                • * OK : test 50 (unary operator takes precedence over and)
                • * OK : test 51 (unary operator takes precedence over mod)
                • * OK : test 52 (* takes precedence over +)
                • * OK : test 53 (* takes precedence over -)
                • * OK : test 54 (* takes precedence over .)
                • * OK : test 55 (/ takes precedence over +)
                • * OK : test 56 (/ takes precedence over -)
                • * OK : test 57 (/ takes precedence over .)
                • * OK : test 58 (% takes precedence over +)
                • * OK : test 59 (% takes precedence over -)
                • * OK : test 60 (% takes precedence over .)
                • * OK : test 61 (+ takes precedence over bitwise)
                • * OK : test 62 (+ takes precedence over bitwise)
                • * OK : test 63 (- takes precedence over bitwise)
                • * OK : test 64 (- takes precedence over bitwise)
                • * OK : test 65 (. takes precedence over bitwise)
                • * OK : test 66 (. takes precedence over bitwise)
                • * OK : test 67 (<< takes precedence over <)
                • * OK : test 68 (<< takes precedence over >)
                • * OK : test 69 (>> takes precedence over <=)
                • * OK : test 70 (>> takes precedence over >=)
                • * OK : test 71 (< takes precedende over ==)
                • * OK : test 72 (< takes precedende over !=)
                • * OK : test 73 (< takes precedende over <>)
                • * OK : test 74 (< takes precedende over !==)
                • * OK : test 75 (< takes precedende over ===)
                • * OK : test 76 (>= takes precedende over ==)
                • * OK : test 77 (> takes precedende over !=)
                • * OK : test 78 (> takes precedende over <>)
                • * OK : test 79 (<= takes precedende over !==)
                • * OK : test 80 (<= takes precedende over ===)
                • * OK : test 81 (=== takes precedence over &)
                • * OK : test 82 (!== takes precedence over &)
                • * OK : test 83 (& takes precedence over ^)
                • * OK : test 84 (^ takes precedence over |)
                • * OK : test 85 (| takes precedence over &&)
                • * OK : test 86 (&& takes precedence over ||)
                • * OK : test 87 (|| takes precedence over ? :)
                • * OK : test 88 (above take precedence over =)
                • * OK : test 89 (above take precedence over +=)
                • * OK : test 90 (above take precedence over -=)
                • * OK : test 91 (above take precedence over *=)
                • * OK : test 92 (above take precedence over /=)
                • * OK : test 93 (above take precedence over .=)
                • * OK : test 94 (above take precedence over %=)
                • * OK : test 95 (above take precedence over &=)
                • * OK : test 96 (above take precedence over |=)
                • * OK : test 97 (above take precedence over ^=)
                • * OK : test 98 (above take precedence over <<=)
                • * OK : test 99 (above take precedence over >>=, !=)
                • * OK : test 100 (above take precedence over >>=, <>)
                • * OK : test 101 (= takes precedence over and)
                • * OK : test 102 (and takes precedence over xor)
                • * OK : test 103 (xor takes precedence over or)
                • * OK : test 104 (* is left-associative)
                • * OK : test 105 (/ is left-associative)
                • * OK : test 106 (% is left-associative)
                • * OK : test 107 (+ is left-associative)
                • * OK : test 108 (- is left-associative)
                • * OK : test 109 (. is left-associative)
                • * OK : test 110 (<< is left-associative)
                • * OK : test 111 (>> is left-associative)
                • * OK : test 112 (& is left-associative)
                • * OK : test 113 (^ is left-associative)
                • * OK : test 114 (| is left-associative)
                • * OK : test 115 (&& is left-associative)
                • * OK : test 116 (|| is left-associative)
                • * OK : test 117 (= is right associative)
                • * OK : test 118 (+= is right associative)
                • * OK : test 119 (-= is right associative)
                • * OK : test 120 (<<= is right associative)
                • * OK : test 121 (>>= and /= are right associative)
                • * OK : test 122 (%= and *= are right associative)
                • * OK : test 123 (and is left-associative)
                • * OK : test 124 (and is case-insensitive )
                • * OK : test 125 (xor is left-associative)
                • * OK : test 126 (or is left-associative)
                • * OK : test 127 (or is case-insensitive)
                • * OK : test 128 ($foo = fopen())
                • * OK : test 129 ($foo && $bar || $fred)
                • * OK : test 130 ($foo && $bar + $fred)
                • * OK : test 131 ($foo and $foo = fopen())
                • * OK : test 132 (PSAT-53)
                • * OK : test 133 (PSAT-55)
                • * OK : test 134 (PSAT-55)
                • * OK : test 135 (!$foo = 'bar')
                • * OK : test 136 (@$foo == $bar)
                • * OK : test 137 (@include 'foo')
                • * OK : test 138 (@include_once 'Var_Dump/Renderer/' . $mode . '.php')
                • * OK : test 139 (assign and concat and assign)
                • -----------------------------------------------------------------------
                • results testsuite PHP4 and PHP5 Operators
                • successes : 139
                • failures : 0
                • -----------------------------------------------------------------------
                • /nix/store/l7zfa2qmc1gfsvvkv6yl3y5p0yrrkyv2-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit/...-strategoxt-0.17pre18253-i9sd1ni4/bin/parse-unit --no-heuristic-filters -i operators45.testsuite -p ../../../src/grammar/PHP5Test.tbl
                • -----------------------------------------------------------------------
                • executing testsuite PHP4 and PHP5 Operators with 139 tests
                • -----------------------------------------------------------------------
                • * OK : test 1 (class creation without params 1)
                • * OK : test 2 (class creation without params 2)
                • * OK : test 3 (class creation with variable)
                • * OK : test 4 (class creation with params 1)
                • * OK : test 5 (class creation with params 2)
                • * OK : test 6 (operator : +)
                • * OK : test 7 (operator : + with variable)
                • * OK : test 8 (operator : -)
                • * OK : test 9 (operator : - with variable)
                • * OK : test 10 (operator : *)
                • * OK : test 11 (operator : * with variable)
                • * OK : test 12 (operator : /)
                • * OK : test 13 (operator : / with variable)
                • * OK : test 14 (operator : %)