Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

unpickle test failures on i586 #178

Open
@jayvdb

Description

@jayvdb
[49s]===================================FAILURES===================================[49s]_________________TestUnpickleRaw.test__construct_simple_trie__________________[49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__construct_simple_trie>[49s] [49s]     @skipIf(notahocorasick.unicode,"Run only with unicode build")[49s]deftest__construct_simple_trie(self):[49s]     [49s]r"""[   49s]         trie for set {he, her, his, him, it}[   49s][   49s]         #0 -> [h #1 ] -> [e #2*] -> [r #3*][   49s]          |           \-> [i #4 ] -> [s #5*][   49s]          |                      \-> [m #6*][   49s]          |[   49s]          +--> [i #7 ] -> [t #8 ][   49s]         """[49s]values= ["HE","HER","HIS","HIM","IT"][49s]     [49s]node0=self.create_raw_node(0, [('h',1), ('i',7)])[49s]node1=self.create_raw_node(0, [('e',2), ('i',4)])[49s]node2=self.create_raw_node(1, [('r',3)])# HE[49s]node3=self.create_raw_node(1, [])# HER[49s]node4=self.create_raw_node(0, [('s',5), ('m',6)])[49s]node5=self.create_raw_node(1, [])# HIS[49s]node6=self.create_raw_node(1, [])# HIM[49s]node7=self.create_raw_node(0, [('t',8)])[49s]node8=self.create_raw_node(1, [])# IT[49s]     [49s]self.count=9[49s]self.raw=node0+node1+node2+node3+node4+node5+node6+node7+node8[49s]self.kind=ahocorasick.TRIE[49s]self.values=values[49s]self.word_count=5[49s]     [49s]>A=self.create_automaton()[49s] [49s]tests/test_unpickle.py:166: [49s]_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__construct_simple_trie>[49s]use_exact_raw=False[49s] [49s]defcreate_automaton(self,use_exact_raw=False):[49s]# alter values that were set in setUp[49s]ifuse_exact_raw:[49s]raw=self.raw[49s]else:[49s]raw= [self.create_raw_count(self.count)+self.raw][49s]     [49s]args= (raw,self.kind,self.store,self.key_type,[49s]self.word_count,self.longest,self.values);[49s]     [49s]>returnahocorasick.Automaton(*args)[49s]EValueError:Datatruncated [parsingchildrenofnode#2]: chunk #0 @ offset 54, expected at least 840 bytes[49s] [49s]tests/test_unpickle.py:111:ValueError[49s]_TestUnpickleRaw.test__construct_simple_trie__split_across_a_few_chunks_unicode_[49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__construct_simple_trie__split_across_a_few_chunks_unicode>[49s] [49s]     @skipIf(notahocorasick.unicode,"Run only with unicode build")[49s]deftest__construct_simple_trie__split_across_a_few_chunks_unicode(self):[49s]     [49s]r"""[   49s]         trie for set {he, her, his, him, it}[   49s][   49s]         #0 -> [h #1 ] -> [e #2*] -> [r #3*][   49s]          |           \-> [i #4 ] -> [s #5*][   49s]          |                      \-> [m #6*][   49s]          |[   49s]          +--> [i #7 ] -> [t #8 ][   49s]         """[49s]values= ["HE","HER","HIS","HIM","IT"][49s]     [49s]node0=self.create_raw_node(0, [('h',1), ('i',7)])[49s]node1=self.create_raw_node(0, [('e',2), ('i',4)])[49s]node2=self.create_raw_node(1, [('r',3)])# HE[49s]node3=self.create_raw_node(1, [])# HER[49s]node4=self.create_raw_node(0, [('s',5), ('m',6)])[49s]node5=self.create_raw_node(1, [])# HIS[49s]node6=self.create_raw_node(1, [])# HIM[49s]node7=self.create_raw_node(0, [('t',8)])[49s]node8=self.create_raw_node(1, [])# IT[49s]     [49s]self.count=9[49s]self.raw= [[49s]self.create_raw_count(2)+node0+node1,[49s]self.create_raw_count(3)+node2+node3+node4,[49s]self.create_raw_count(1)+node5,[49s]self.create_raw_count(3)+node6+node7+node8[49s]         ][49s]self.kind=ahocorasick.TRIE[49s]self.values=values[49s]self.word_count=5[49s]     [49s]A=self.create_automaton(USE_EXACT_RAW)[49s]self.assertEqual(len(A),5)[49s]>self.assertEqual(A.get("he"),"HE")[49s]EKeyError[49s] [49s]tests/test_unpickle.py:211:KeyError[49s]_______TestUnpickleRaw.test__construct_simple_trie__wrong_index_unicode_______[49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__construct_simple_trie__wrong_index_unicode>[49s] [49s]     @skipIf(notahocorasick.unicode,"Run only with unicode build")[49s]deftest__construct_simple_trie__wrong_index_unicode(self):[49s]"""[   49s]         trie for set {he}[   49s][   49s]         #0 -> [h #1*] -> [e #2*][   49s]         """[49s]     [49s]node0=self.create_raw_node(0, [('h',1)])[49s]node1=self.create_raw_node(1, [('e',2)])# expect python value[49s]node2=self.create_raw_node(1, [])# also python value[49s]     [49s]self.count=3[49s]self.raw=node0+node1+node2[49s]self.kind=ahocorasick.TRIE[49s]self.values= ["HE"]# but we provide a too short collection[49s]self.word_count=2[49s]     [49s]withself.assertRaises(IndexError):[49s]>self.create_automaton()[49s]EAssertionError:IndexErrornotraised[49s] [49s]tests/test_unpickle.py:257:AssertionError[49s]_________________TestUnpickleRaw.test__malicious_fail_pointer_________________[49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__malicious_fail_pointer>[49s] [49s]deftest__malicious_fail_pointer(self):[49s]"""[   49s]         trie with just one node[   49s]         """[49s]     [49s]builder=self.create_node_builder(0, [])[49s]builder.fail=42[49s]     [49s]self.count=1[49s]self.raw=builder.dump()[49s]self.kind=ahocorasick.TRIE[49s]     [49s]withself.assertRaisesRegex(ValueError,"Node #0 malformed: the fail link points to.*"):[49s]>self.create_automaton()[49s] [49s]tests/test_unpickle.py:354: [49s]_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [49s] [49s]defcreate_automaton(self,use_exact_raw=False):[49s]# alter values that were set in setUp[49s]ifuse_exact_raw:[49s]raw=self.raw[49s]else:[49s]raw= [self.create_raw_count(self.count)+self.raw][49s]     [49s]args= (raw,self.kind,self.store,self.key_type,[49s]self.word_count,self.longest,self.values);[49s]     [49s]>returnahocorasick.Automaton(*args)[49s]EIndexError:listindexoutofrange[49s] [49s]tests/test_unpickle.py:111:IndexError[49s]_____________TestUnpickleRaw.test__malicious_next_pointer_unicode_____________[49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__malicious_next_pointer_unicode>[49s] [49s]     @skipIf(notahocorasick.unicode,"Run only with unicode build")[49s]deftest__malicious_next_pointer_unicode(self):[49s]"""[   49s]         #0 -> [? #1 ][   49s]         """[49s]     [49s]node0=self.create_raw_node(0, [('?',1)])[49s]node1=self.create_raw_node(0, [('x',16)])# the second node point to non-existent node[49s]     [49s]self.count=2[49s]self.raw=node0+node1[49s]self.kind=ahocorasick.TRIE[49s]     [49s]withself.assertRaisesRegex(ValueError,"Node #1 malformed: next link #0 points to.*"):[49s]>self.create_automaton()[49s] [49s]tests/test_unpickle.py:323: [49s]_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [49s] [49s]defcreate_automaton(self,use_exact_raw=False):[49s]# alter values that were set in setUp[49s]ifuse_exact_raw:[49s]raw=self.raw[49s]else:[49s]raw= [self.create_raw_count(self.count)+self.raw][49s]     [49s]args= (raw,self.kind,self.store,self.key_type,[49s]self.word_count,self.longest,self.values);[49s]     [49s]>returnahocorasick.Automaton(*args)[49s]EIndexError:listindexoutofrange[49s] [49s]tests/test_unpickle.py:111:IndexError[49s]_________________TestUnpickleRaw.test__truncated_raw__case_2__________________[49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__truncated_raw__case_2>[49s] [49s]deftest__truncated_raw__case_2(self):[49s]"""[   49s]         trie for set {he}[   49s][   49s]         #0 -> [h #1 ] -> [e #2*][   49s]         """[49s]     [49s]node0=self.create_raw_node(0, [('h',1)])[49s]node1=self.create_raw_node(0, [('e',2)])[49s]node2=self.create_raw_node(1, [])[49s]raw=node0+node1+node2[49s]     [49s]self.count=3[49s]self.kind=ahocorasick.TRIE[49s]     [49s]forlengthinrange(len(raw)):[49s]self.raw=raw[:length]# truncate data and expect fail[49s]withself.assertRaisesRegex(ValueError,"Data truncated.*"):[49s]>self.create_automaton()[49s] [49s]tests/test_unpickle.py:307: [49s]_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [49s] [49s]defcreate_automaton(self,use_exact_raw=False):[49s]# alter values that were set in setUp[49s]ifuse_exact_raw:[49s]raw=self.raw[49s]else:[49s]raw= [self.create_raw_count(self.count)+self.raw][49s]     [49s]args= (raw,self.kind,self.store,self.key_type,[49s]self.word_count,self.longest,self.values);[49s]     [49s]>returnahocorasick.Automaton(*args)[49s]EIndexError:listindexoutofrange[49s] [49s]tests/test_unpickle.py:111:IndexError[49s]______________________TestUnpickleRaw.test__values_leaks______________________[49s] [49s]self=<test_unpickle.TestUnpickleRawtestMethod=test__values_leaks>[49s] [49s]deftest__values_leaks(self):[49s]     [49s]# create not connected nodes, but each hold a value[49s]good_nodes=1000[49s]raw=b''[49s]values= [][49s]foriinrange(good_nodes):[49s]raw+=self.create_raw_node(1, [])[49s]values.append(tuple("node %d"%i))[49s]     [49s]# create the last node that will cause error -- malformed next pointer[49s]raw+=self.create_raw_node(1, [('_',10000)])[49s]values.append(tuple("never reached"))[49s]     [49s]self.count=good_nodes+1[49s]self.raw=raw[49s]self.kind=ahocorasick.TRIE[49s]self.values=values[49s]     [49s]withself.assertRaises(ValueError):[49s]>self.create_automaton()[49s]EAssertionError:ValueErrornotraised[49s] [49s]tests/test_unpickle.py:376:AssertionError

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp