summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerman M. Bravo <german.mb@deipi.com>2013-08-15 12:49:21 -0500
committerGerman M. Bravo <german.mb@deipi.com>2013-08-16 10:13:50 -0500
commitff38709911b0c7805e97e6ac24f649fbffe56130 (patch)
treeb14bd69b20a4698ee6817f4da5fd772a6175f9a2
parent0ea065b3cad5e4e7d00768843d40ce746acb1dd4 (diff)
downloadpyscss-ff38709911b0c7805e97e6ac24f649fbffe56130.tar.gz
Added more complex benchmark
-rwxr-xr-xscss/src/scanner.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/scss/src/scanner.py b/scss/src/scanner.py
index a04b22e..97c0b34 100755
--- a/scss/src/scanner.py
+++ b/scss/src/scanner.py
@@ -249,7 +249,7 @@ except ImportError:
def process_scan(Scanner, level=0, dump=False):
ret = '' if dump else None
- s = Scanner('[(5px - 3) * (5px - 3)]')
+ s = Scanner('[(5px - 3) * (5px - 3)], function($arg1: a b c, $arg2: 4px + 5px, $arg3: red #fff #000000 #ffff0088), "Some string"')
i = 0
while True:
try:
@@ -262,11 +262,12 @@ def process_scan(Scanner, level=0, dump=False):
return ret
-verify = "----------------------------------------------------------------------\n\n (@0) LPAR = '['\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n----------------------------------------------------------------------\n\n (@0) LPAR = '['\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n (@14) NUM = '5'\n----------------------------------------------------------------------\n\n (@1) LPAR = '('\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n (@14) NUM = '5'\n (@15) UNITS = 'px'\n----------------------------------------------------------------------\n\n (@2) NUM = '5'\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n (@14) NUM = '5'\n (@15) UNITS = 'px'\n (@18) SUB = '- '\n----------------------------------------------------------------------\n\n (@3) UNITS = 'px'\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n (@14) NUM = '5'\n (@15) UNITS = 'px'\n (@18) SUB = '- '\n (@20) NUM = '3'\n----------------------------------------------------------------------\n\n (@6) SUB = '- '\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n (@14) NUM = '5'\n (@15) UNITS = 'px'\n (@18) SUB = '- '\n (@20) NUM = '3'\n (@21) RPAR = ')'\n----------------------------------------------------------------------\n\n (@8) NUM = '3'\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n (@14) NUM = '5'\n (@15) UNITS = 'px'\n (@18) SUB = '- '\n (@20) NUM = '3'\n (@21) RPAR = ')'\n (@22) RPAR = ']'\n----------------------------------------------------------------------\n\n (@9) RPAR = ')'\n (@11) MUL = '*'\n (@13) LPAR = '('\n (@14) NUM = '5'\n (@15) UNITS = 'px'\n (@18) SUB = '- '\n (@20) NUM = '3'\n (@21) RPAR = ')'\n (@22) RPAR = ']'\n (@23) END = ''\n"
+# Expected resulting string:
+EXPECTED = '----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n----------------------------------------------------------------------\n\n (@0) LPAR = \'[\'\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n----------------------------------------------------------------------\n\n (@1) LPAR = \'(\'\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n----------------------------------------------------------------------\n\n (@2) NUM = \'5\'\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n----------------------------------------------------------------------\n\n (@3) UNITS = \'px\'\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n----------------------------------------------------------------------\n\n (@6) SUB = \'- \'\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n----------------------------------------------------------------------\n\n (@8) NUM = \'3\'\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n----------------------------------------------------------------------\n\n (@9) RPAR = \')\'\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n----------------------------------------------------------------------\n\n (@11) MUL = \'*\'\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n----------------------------------------------------------------------\n\n (@13) LPAR = \'(\'\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n----------------------------------------------------------------------\n\n (@14) NUM = \'5\'\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n----------------------------------------------------------------------\n\n (@15) UNITS = \'px\'\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n----------------------------------------------------------------------\n\n (@18) SUB = \'- \'\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n----------------------------------------------------------------------\n\n (@20) NUM = \'3\'\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n----------------------------------------------------------------------\n\n (@21) RPAR = \')\'\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n----------------------------------------------------------------------\n\n (@22) RPAR = \']\'\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n----------------------------------------------------------------------\n\n (@23) COMMA = \',\'\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n----------------------------------------------------------------------\n\n (@25) NAME = \'function\'\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n----------------------------------------------------------------------\n\n (@33) LPAR = \'(\'\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n----------------------------------------------------------------------\n\n (@34) VAR = \'$arg1\'\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n----------------------------------------------------------------------\n\n (@39) ":" = \':\'\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n----------------------------------------------------------------------\n\n (@41) NAME = \'a\'\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n----------------------------------------------------------------------\n\n (@43) NAME = \'b\'\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n (@62) UNITS = \'px\'\n----------------------------------------------------------------------\n\n (@45) NAME = \'c\'\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n (@62) UNITS = \'px\'\n (@64) COMMA = \',\'\n----------------------------------------------------------------------\n\n (@46) COMMA = \',\'\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n (@62) UNITS = \'px\'\n (@64) COMMA = \',\'\n (@66) VAR = \'$arg3\'\n----------------------------------------------------------------------\n\n (@48) VAR = \'$arg2\'\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n (@62) UNITS = \'px\'\n (@64) COMMA = \',\'\n (@66) VAR = \'$arg3\'\n (@71) ":" = \':\'\n----------------------------------------------------------------------\n\n (@53) ":" = \':\'\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n (@62) UNITS = \'px\'\n (@64) COMMA = \',\'\n (@66) VAR = \'$arg3\'\n (@71) ":" = \':\'\n (@73) NAME = \'red\'\n----------------------------------------------------------------------\n\n (@55) NUM = \'4\'\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n (@62) UNITS = \'px\'\n (@64) COMMA = \',\'\n (@66) VAR = \'$arg3\'\n (@71) ":" = \':\'\n (@73) NAME = \'red\'\n (@77) COLOR = \'#fff\'\n----------------------------------------------------------------------\n\n (@56) UNITS = \'px\'\n (@59) ADD = \'+\'\n (@61) NUM = \'5\'\n (@62) UNITS = \'px\'\n (@64) COMMA = \',\'\n (@66) VAR = \'$arg3\'\n (@71) ":" = \':\'\n (@73) NAME = \'red\'\n (@77) COLOR = \'#fff\'\n (@82) COLOR = \'#000000\'\n'
def process_scans(Scanner):
- for q in xrange(20000):
+ for q in xrange(10000):
process_scan(Scanner)
profiled_process_scans = profile(process_scans)
@@ -280,7 +281,7 @@ if __name__ == "__main__":
# print "This is what %s returned:" % desc
# print ret
# print repr(ret)
- assert ret == verify, '\nFrom %s, got:\n%s\nShould be:\n%s' % (desc, ret, verify)
+ assert ret == EXPECTED, '\nFrom %s, got:\n%s\nShould be:\n%s' % (desc, ret, EXPECTED)
start = datetime.now()
print >>sys.stderr, "Timing: %s..." % desc,