compiler/tests/extras/PPCLRPCompiledParserSmokeTest.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 07 Sep 2015 08:20:46 +0100
changeset 537 fb212e14d1f4
parent 535 a8feb0f47574
child 538 16e8536f5cfb
permissions -rw-r--r--
PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PPCLRPParserSmokeTest subclass:#PPCLRPCompiledParserSmokeTest
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'PetitCompiler-Extras-Tests-LRP'
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!PPCLRPCompiledParserSmokeTest class methodsFor:'resources'!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
resources
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    ^ Array with: (PPCSetUpBeforeTearDownAfterResource for: self)
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
! !
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!PPCLRPCompiledParserSmokeTest class methodsFor:'testing'!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
isAbstract
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    ^ self == PPCLRPCompiledParserSmokeTest
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    "Modified: / 31-07-2015 / 07:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
! !
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
!PPCLRPCompiledParserSmokeTest methodsFor:'accessing'!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
compiledParser
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    ^ self compiledParserClass new
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    "Created: / 29-07-2015 / 17:00:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
compiledParserClass
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    ^ Smalltalk at: self compiledParserClassName
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    "Created: / 29-07-2015 / 16:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
compiledParserClassName
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    "Return the name of the compiled parser"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    ^ (self petitParserClass name , 'C_' , 
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
            "This is bit hacky!!"
537
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    45
            (("This is bit hacky!!" self compiler options tokenize) ifTrue:[ 'Tokenizing' ] ifFalse:[ 'Universal' ])) asSymbol
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    "Created: / 29-07-2015 / 16:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
535
a8feb0f47574 PPCConfiguration refactoring: [7/10]: allow to configure passes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 529
diff changeset
    48
    "Modified: / 04-09-2015 / 15:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
537
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    51
compiler
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    52
    "Return compiler to use when compiling parser (as instance of PPCConfiguration)"
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    53
    
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    ^ self subclassResponsibility
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    "Created: / 29-07-2015 / 16:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
parserClass
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    ^ self compiledParserClass
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    "Modified: / 29-07-2015 / 18:43:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
petitParser
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    ^ self petitParserClass new
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    "Created: / 29-07-2015 / 17:01:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
petitParserClass
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    ^ PPCLRPParser
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
! !
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
!PPCLRPCompiledParserSmokeTest methodsFor:'context'!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
context
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ^ PPCContext new 
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
! !
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
!PPCLRPCompiledParserSmokeTest methodsFor:'setup & teardown'!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
setUpBefore
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    "Called before any of my tests is run (when resources are set up)"
537
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    86
    | time compiler |
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
537
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    88
    compiler := self compiler.
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    89
    compiler options parserName: self compiledParserClassName.
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    time := Time millisecondsToRun: [
537
fb212e14d1f4 PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
    91
        self petitParser compileUsingCompiler:compiler.
512
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    ].
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
    Transcript show: self petitParserClass name ; show:' compiled in: '; show: time asString; show: 'ms'; cr.
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    "Created: / 29-07-2015 / 16:29:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "Modified: / 29-07-2015 / 18:40:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
!
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
tearDownAfter
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "Called after all my tests are ryn(when resources are torn down)"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
    "Created: / 29-07-2015 / 16:33:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
! !
694a247a12ba Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104