def testAnchorsBoundary(self): parsed = sre_yield.Values("ab\\b") self.assertEqual(["ab"], list(parsed)) parsed = sre_yield.Values("\\bab") self.assertEqual(["ab"], list(parsed)) parsed = sre_yield.Values("\\bab\\b") self.assertEqual(["ab"], list(parsed))
def testAnchorsBoundary(self): parsed = sre_yield.Values('ab\\b') self.assertEquals(['ab'], list(parsed)) parsed = sre_yield.Values('\\bab') self.assertEquals(['ab'], list(parsed)) parsed = sre_yield.Values('\\bab\\b') self.assertEquals(['ab'], list(parsed))
def main(args): pattern = args[0] sys.stdout.write("%s\t" % (pattern, )) sys.stdout.flush() name = args[1] sys.stdout.write("%s\t" % (name, )) sys.stdout.flush() min_time = 1.0 t0 = time.time() v = sre_yield.Values(pattern) t1 = time.time() sys.stdout.write("%.05f\t" % (t1 - t0, )) sys.stdout.flush() for test in (index(0), index(1), index(-2), index(-1), first_slice, last_slice): v2 = sre_yield.Values(pattern) t0 = time.time() iterations = 0 delta = 0 first_delta = None while delta < min_time: test(v2) if isinstance(delta, int): first_delta = time.time() - t0 sys.stdout.write("%.05f\t" % (first_delta, )) sys.stdout.flush() iterations += 1 delta = time.time() - t0 sys.stdout.write("%.05f\t" % (delta / iterations, )) sys.stdout.flush() with open('/proc/self/status') as f: for line in f: if line.startswith('VmPeak'): print line.split(':')[1].strip().rstrip(' kB') return else: print
def testContentsNearBreak(self): # This specific location is on either side of offset_break in sre_yield.py v = sre_yield.Values(".*") a = v[70386233652806655][:10] self.assertEqual("\xff\xff\xff\xff\xff\xff\xff", a) b = v[70386233652806656][:10] self.assertEqual("\x00\x00\x00\x00\x00\x00\x00\x00", b) c = v[70386233652806657][:10] self.assertEqual("\x00\x00\x00\x00\x00\x00\x00\x01", c)
def testAnchorsCombined(self): parsed = sre_yield.Values('^[ab]$') self.assertEquals(['a', 'b'], list(parsed))
def testAnchorsZ(self): parsed = sre_yield.Values('[ab]\\Z') self.assertEquals(['a', 'b'], list(parsed))
def testAnchorsMultiCaret(self): parsed = sre_yield.Values('^(\\b^([ab]))') self.assertEquals(['a', 'b'], list(parsed))
def testAnchorsA(self): parsed = sre_yield.Values('\\A[ab]') self.assertEquals(['a', 'b'], list(parsed))
def testAnchorsA(self): parsed = sre_yield.Values("\\A[ab]") self.assertEqual(["a", "b"], list(parsed))
def testAnchorsEmptyString(self): parsed = sre_yield.Values(r'^^^$\b$') self.assertEquals([''], list(parsed))
def testAnchorsEmptyString(self): parsed = sre_yield.Values(r"^^^$\b$") self.assertEqual([""], list(parsed))
def testAnchorsRepeated(self): parsed = sre_yield.Values(r"[ab]$\b$") self.assertEqual(["a", "b"], list(parsed))
def testAnchorsCombined(self): parsed = sre_yield.Values("^[ab]$") self.assertEqual(["a", "b"], list(parsed))
def testAnchorsZ(self): parsed = sre_yield.Values("[ab]\\Z") self.assertEqual(["a", "b"], list(parsed))
def testAnchorsMultiCaret(self): parsed = sre_yield.Values("^(\\b^([ab]))") self.assertEqual(["a", "b"], list(parsed))
def testAnchorsRepeated(self): parsed = sre_yield.Values(r'[ab]$\b$') self.assertEquals(['a', 'b'], list(parsed))
def testAnchorsCaret(self): parsed = sre_yield.Values('^[ab]') self.assertEqual(['a', 'b'], list(parsed))
def testAnchorsDollar(self): parsed = sre_yield.Values('[ab]$') self.assertEqual(['a', 'b'], list(parsed))
def testAnchorsRepeatedBeginning(self): parsed = sre_yield.Values(r"^\b^[ab]") self.assertEqual(["a", "b"], list(parsed))