mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-26 01:46:28 +03:00
* Delete test_token_references, which checked a flakey strategy for preventing orphan tokens from a while ago. Now orphan tokens simply hold a reference to Pool, preventing the memory from being freed underneath them. This means that we don't need to run this slow test.
This commit is contained in:
parent
bd3efdbe22
commit
aa0dd79f52
|
@ -1,54 +0,0 @@
|
||||||
from __future__ import unicode_literals
|
|
||||||
import pytest
|
|
||||||
import gc
|
|
||||||
|
|
||||||
from spacy.en import English
|
|
||||||
import os
|
|
||||||
|
|
||||||
# Let this have its own instances, as we have to be careful about memory here
|
|
||||||
# that's the point, after all
|
|
||||||
|
|
||||||
@pytest.mark.models
|
|
||||||
def get_orphan_token(text, i):
|
|
||||||
nlp = English()
|
|
||||||
tokens = nlp(text)
|
|
||||||
gc.collect()
|
|
||||||
token = tokens[i]
|
|
||||||
del tokens
|
|
||||||
return token
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.models
|
|
||||||
def test_orphan():
|
|
||||||
orphan = get_orphan_token('An orphan token', 1)
|
|
||||||
gc.collect()
|
|
||||||
dummy = get_orphan_token('Load and flush the memory', 0)
|
|
||||||
dummy = get_orphan_token('Load again...', 0)
|
|
||||||
assert orphan.orth_ == 'orphan'
|
|
||||||
assert orphan.pos_ in ('ADJ', 'NOUN')
|
|
||||||
assert orphan.head.orth_ == 'token'
|
|
||||||
|
|
||||||
|
|
||||||
def _orphan_from_list(toks):
|
|
||||||
''' Take the tokens from nlp(), append them to a list, return the list '''
|
|
||||||
lst = []
|
|
||||||
for tok in toks:
|
|
||||||
lst.append(tok)
|
|
||||||
return lst
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.models
|
|
||||||
def test_list_orphans():
|
|
||||||
# Test case from NSchrading
|
|
||||||
nlp = English()
|
|
||||||
samples = ["a", "test blah wat okay"]
|
|
||||||
lst = []
|
|
||||||
for sample in samples:
|
|
||||||
# Go through all the samples, call nlp() on each to get tokens,
|
|
||||||
# pass those tokens to the _orphan_from_list() function, get a list back
|
|
||||||
# and put all results in another list
|
|
||||||
lst.extend(_orphan_from_list(nlp(sample)))
|
|
||||||
# go through the list of all tokens and try to print orth_
|
|
||||||
orths = ['a', 'test', 'blah', 'wat', 'okay']
|
|
||||||
for i, l in enumerate(lst):
|
|
||||||
assert l.orth_ == orths[i]
|
|
Loading…
Reference in New Issue
Block a user