obi test: minor changes
This commit is contained in:
@ -1,3 +1,5 @@
|
|||||||
|
#cython: language_level=3
|
||||||
|
|
||||||
from obitools3.apps.progress cimport ProgressBar # TODO I absolutely don't understand why it doesn't work without that line
|
from obitools3.apps.progress cimport ProgressBar # TODO I absolutely don't understand why it doesn't work without that line
|
||||||
from obitools3.dms.view.view import View, Line_selection
|
from obitools3.dms.view.view import View, Line_selection
|
||||||
from obitools3.dms.view.typed_view.view_NUC_SEQS import View_NUC_SEQS
|
from obitools3.dms.view.typed_view.view_NUC_SEQS import View_NUC_SEQS
|
||||||
@ -5,15 +7,19 @@ from obitools3.dms.dms import DMS
|
|||||||
from obitools3.dms.column import Column
|
from obitools3.dms.column import Column
|
||||||
from obitools3.dms.taxo.taxo import OBI_Taxonomy
|
from obitools3.dms.taxo.taxo import OBI_Taxonomy
|
||||||
from obitools3.utils cimport str2bytes
|
from obitools3.utils cimport str2bytes
|
||||||
|
from obitools3.dms.capi.obitypes cimport OBI_INT, \
|
||||||
|
OBI_FLOAT, \
|
||||||
|
OBI_BOOL, \
|
||||||
|
OBI_CHAR, \
|
||||||
|
OBI_STR, \
|
||||||
|
OBI_SEQ
|
||||||
import shutil
|
import shutil
|
||||||
import string
|
import string
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
|
||||||
VIEW_TYPES = ["", "NUC_SEQS_VIEW"]
|
VIEW_TYPES = ["", "NUC_SEQS_VIEW"]
|
||||||
#COL_TYPES = ["OBI_BOOL", "OBI_CHAR", "OBI_FLOAT", "OBI_INT", "OBI_SEQ", "OBI_STR"]
|
COL_TYPES = [OBI_INT, OBI_FLOAT, OBI_BOOL, OBI_CHAR, OBI_STR, OBI_SEQ]
|
||||||
COL_TYPES = [1, 2, 3, 4, 6, 7]
|
|
||||||
NUC_SEQUENCE_COLUMN = "NUC_SEQ"
|
NUC_SEQUENCE_COLUMN = "NUC_SEQ"
|
||||||
ID_COLUMN = "ID"
|
ID_COLUMN = "ID"
|
||||||
DEFINITION_COLUMN = "DEFINITION"
|
DEFINITION_COLUMN = "DEFINITION"
|
||||||
@ -31,11 +37,10 @@ MAX_INT = 2147483647 # used to generate random float values
|
|||||||
__title__="Tests if the obitools are working properly"
|
__title__="Tests if the obitools are working properly"
|
||||||
|
|
||||||
|
|
||||||
default_config = {
|
default_config = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def test_taxo(config, infos):
|
def test_taxo(config, infos):
|
||||||
tax1 = OBI_Taxonomy.open(infos['dms'], config['obi']['taxo'], taxdump=True)
|
tax1 = OBI_Taxonomy.open(infos['dms'], config['obi']['taxo'], taxdump=True)
|
||||||
tax1.write(TAXTEST)
|
tax1.write(TAXTEST)
|
||||||
@ -229,7 +234,7 @@ def create_random_column(config, infos) :
|
|||||||
comments=random_str_with_max_len(COL_COMMENTS_MAX_LEN),
|
comments=random_str_with_max_len(COL_COMMENTS_MAX_LEN),
|
||||||
alias=alias
|
alias=alias
|
||||||
)
|
)
|
||||||
|
|
||||||
if alias != '' :
|
if alias != '' :
|
||||||
assert infos['view'][alias] == column
|
assert infos['view'][alias] == column
|
||||||
else :
|
else :
|
||||||
@ -284,18 +289,18 @@ def random_new_view(config, infos, first=False):
|
|||||||
v_to_clone.close()
|
v_to_clone.close()
|
||||||
if first :
|
if first :
|
||||||
fill_view(config, infos)
|
fill_view(config, infos)
|
||||||
|
|
||||||
|
|
||||||
def create_test_obidms(config, infos):
|
def create_test_obidms(config, infos):
|
||||||
infos['dms'] = DMS.new(config['obi']['defaultdms'])
|
infos['dms'] = DMS.new(config['obi']['defaultdms'])
|
||||||
|
|
||||||
|
|
||||||
def ini_dms_and_first_view(config, infos):
|
def ini_dms_and_first_view(config, infos):
|
||||||
create_test_obidms(config, infos)
|
create_test_obidms(config, infos)
|
||||||
random_new_view(config, infos, first=True)
|
random_new_view(config, infos, first=True)
|
||||||
infos['view_names'] = []
|
infos['view_names'] = []
|
||||||
|
|
||||||
|
|
||||||
def addOptions(parser):
|
def addOptions(parser):
|
||||||
|
|
||||||
# TODO put this common group somewhere else but I don't know where
|
# TODO put this common group somewhere else but I don't know where
|
||||||
@ -309,11 +314,12 @@ def addOptions(parser):
|
|||||||
help="Name of the default DMS for reading and writing data. "
|
help="Name of the default DMS for reading and writing data. "
|
||||||
"Default: /tmp/test_dms")
|
"Default: /tmp/test_dms")
|
||||||
|
|
||||||
group.add_argument('--taxo','-t',
|
group.add_argument('--taxo','-t', # TODO I don't understand why the option is not registered if it is not set
|
||||||
action="store", dest="obi:taxo",
|
action="store", dest="obi:taxo",
|
||||||
metavar='<TAXDUMP PATH>',
|
metavar='<TAXDUMP PATH>',
|
||||||
|
default='', # TODO not None because if it's None, the option is not entered in the option dictionary.
|
||||||
type=str,
|
type=str,
|
||||||
help="Path to a taxdump to test the taxonomy.") # TODO
|
help="Path to a taxdump to test the taxonomy.")
|
||||||
|
|
||||||
|
|
||||||
group=parser.add_argument_group('obi test specific options')
|
group=parser.add_argument_group('obi test specific options')
|
||||||
@ -408,7 +414,7 @@ def run(config):
|
|||||||
|
|
||||||
ini_dms_and_first_view(config, infos)
|
ini_dms_and_first_view(config, infos)
|
||||||
print_test(config, repr(infos['view']))
|
print_test(config, repr(infos['view']))
|
||||||
|
|
||||||
i = 0
|
i = 0
|
||||||
for t in range(config['test']['nbtests']):
|
for t in range(config['test']['nbtests']):
|
||||||
random_test(config, infos)
|
random_test(config, infos)
|
||||||
@ -419,12 +425,13 @@ def run(config):
|
|||||||
|
|
||||||
#print(infos)
|
#print(infos)
|
||||||
|
|
||||||
test_taxo(config, infos)
|
if config['obi']['taxo'] != '' :
|
||||||
|
test_taxo(config, infos)
|
||||||
|
|
||||||
infos['view'].close()
|
infos['view'].close()
|
||||||
infos['dms'].close()
|
infos['dms'].close()
|
||||||
shutil.rmtree(config['obi']['defaultdms']+'.obidms', ignore_errors=True)
|
shutil.rmtree(config['obi']['defaultdms']+'.obidms', ignore_errors=True)
|
||||||
|
|
||||||
print("Done.")
|
print("Done.")
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user