small change in read parameters, made tests available for auto-testing

This commit is contained in:
jkuhl-uni 2022-02-07 18:29:49 +01:00
parent 5062f030c4
commit a33d6897f0
2 changed files with 39 additions and 46 deletions

View file

@ -9,8 +9,7 @@ from ..obs import Obs
from . import utils
def read_sfcf(path, prefix, name, quarks='.*', noffset=0, wf=0, wf2=0,
version="1.0c", **kwargs):
def read_sfcf(path, prefix, name, quarks='.*', corr_type = 'bi', noffset=0, wf=0, wf2=0, version="1.0c", **kwargs):
"""Read sfcf c format from given folder structure.
Parameters
@ -30,13 +29,10 @@ def read_sfcf(path, prefix, name, quarks='.*', noffset=0, wf=0, wf2=0,
im: bool
if True, read imaginary instead of real part
of the correlation function.
b2b: bool
if True, read a time-dependent boundary-to-boundary
correlation function
single: bool
if True, read time independent boundary to boundary
correlation function
names: list
corr_type : str
change between bi (boundary - inner) (default) bib (boundary - inner - boundary) and bb (boundary - boundary)
correlator types
names : list
Alternative labeling for replicas/ensembles.
Has to have the appropriate length
ens_name : str
@ -55,8 +51,6 @@ def read_sfcf(path, prefix, name, quarks='.*', noffset=0, wf=0, wf2=0,
check_configs:
list of list of supposed configs, eg. [range(1,1000)]
for one replicum with 1000 configs
TODO:
- whats going on with files here?
"""
if kwargs.get('im'):
im = 1
@ -64,19 +58,19 @@ def read_sfcf(path, prefix, name, quarks='.*', noffset=0, wf=0, wf2=0,
else:
im = 0
part = 'real'
if kwargs.get('single'):
b2b = 1
single = 1
else:
if kwargs.get('b2b'):
b2b = 1
else:
b2b = 0
single = 0
if "replica" in kwargs:
reps = kwargs.get("replica")
if corr_type == 'bb':
b2b = True
single = True
elif corr_type == 'bib':
b2b = True
single = False
else:
b2b = False
single = False
# due to higher usage in current projects,
# compact file format is default
compact = True

View file

@ -7,43 +7,42 @@ import pyerrors as pe
import pyerrors.input.openQCD as qcdin
import pyerrors.input.sfcf as sfin
import shutil
import pytest
from time import sleep
def build_test_environment(type, cfgs, reps):
if type == "o":
def build_test_environment(env_type, cfgs, reps):
if env_type == "o":
for i in range(2,cfgs+1):
shutil.copytree("data/sfcf_test/data_o/test_r0/cfg1","data/sfcf_test/data_o/test_r0/cfg"+str(i))
shutil.copytree("tests/data/sfcf_test/data_o/test_r0/cfg1","tests/data/sfcf_test/data_o/test_r0/cfg"+str(i))
for i in range(1,reps):
shutil.copytree("data/sfcf_test/data_o/test_r0", "data/sfcf_test/data_o/test_r"+str(i))
elif type == "c":
shutil.copytree("tests/data/sfcf_test/data_o/test_r0", "tests/data/sfcf_test/data_o/test_r"+str(i))
elif env_type == "c":
for i in range(2,cfgs+1):
shutil.copy("data/sfcf_test/data_c/data_c_r0/data_c_r0_n1","data/sfcf_test/data_c/data_c_r0/data_c_r0_n"+str(i))
shutil.copy("tests/data/sfcf_test/data_c/data_c_r0/data_c_r0_n1","tests/data/sfcf_test/data_c/data_c_r0/data_c_r0_n"+str(i))
for i in range(1,reps):
os.mkdir("data/sfcf_test/data_c/data_c_r"+str(i))
os.mkdir("tests/data/sfcf_test/data_c/data_c_r"+str(i))
for j in range(1,cfgs+1):
shutil.copy("data/sfcf_test/data_c/data_c_r0/data_c_r0_n1","data/sfcf_test/data_c/data_c_r"+str(i)+"/data_c_r"+str(i)+"_n"+str(j))
shutil.copy("tests/data/sfcf_test/data_c/data_c_r0/data_c_r0_n1","tests/data/sfcf_test/data_c/data_c_r"+str(i)+"/data_c_r"+str(i)+"_n"+str(j))
def clean_test_environment(type, cfgs, reps):
if type == "o":
def clean_test_environment(env_type, cfgs, reps):
if env_type == "o":
for i in range(1,reps):
shutil.rmtree("data/sfcf_test/data_o/test_r"+str(i))
shutil.rmtree("tests/data/sfcf_test/data_o/test_r"+str(i))
for i in range(2,cfgs+1):
shutil.rmtree("data/sfcf_test/data_o/test_r0/cfg"+str(i))
elif type == "c":
shutil.rmtree("tests/data/sfcf_test/data_o/test_r0/cfg"+str(i))
elif env_type == "c":
for i in range(1,reps):
shutil.rmtree("data/sfcf_test/data_c/data_c_r"+str(i))
shutil.rmtree("tests/data/sfcf_test/data_c/data_c_r"+str(i))
for i in range(2,cfgs+1):
os.remove("data/sfcf_test/data_c/data_c_r0/data_c_r0_n"+str(i))
os.remove("tests/data/sfcf_test/data_c/data_c_r0/data_c_r0_n"+str(i))
def test_o_bb():
build_test_environment("o",5,3)
f_1 = sfin.read_sfcf("data/sfcf_test/data_o", "test", "f_1",quarks="lquark lquark", wf = 0, wf2=0, version = "2.0", single = True)
f_1 = sfin.read_sfcf("tests/data/sfcf_test/data_o", "test", "f_1",quarks="lquark lquark", wf = 0, wf2=0, version = "2.0", single = True)
print(f_1)
clean_test_environment("o",5,3)
assert len(f_1) == 1
@ -51,7 +50,7 @@ def test_o_bb():
def test_o_bi():
build_test_environment("o",5,3)
f_A = sfin.read_sfcf("data/sfcf_test/data_o", "test", "f_A",quarks="lquark lquark", wf = 0, version = "2.0")
f_A = sfin.read_sfcf("tests/data/sfcf_test/data_o", "test", "f_A",quarks="lquark lquark", wf = 0, version = "2.0")
print(f_A)
clean_test_environment("o",5,3)
assert len(f_A) == 3
@ -61,7 +60,7 @@ def test_o_bi():
def test_o_bib():
build_test_environment("o",5,3)
f_V0 = sfin.read_sfcf("data/sfcf_test/data_o", "test", "F_V0",quarks="lquark lquark", wf = 0, wf2 = 0, version = "2.0", b2b = True)
f_V0 = sfin.read_sfcf("tests/data/sfcf_test/data_o", "test", "F_V0",quarks="lquark lquark", wf = 0, wf2 = 0, version = "2.0", b2b = True)
print(f_V0)
clean_test_environment("o",5,3)
assert len(f_V0) == 3
@ -71,7 +70,7 @@ def test_o_bib():
def test_c_bb():
build_test_environment("c",5,3)
f_1 = sfin.read_sfcf("data/sfcf_test/data_c", "data_c", "f_1", quarks="lquark lquark", wf = 0, wf2=0, version = "2.0c", single = True)
f_1 = sfin.read_sfcf("tests/data/sfcf_test/data_c", "data_c", "f_1", quarks="lquark lquark", wf = 0, wf2=0, version = "2.0c", single = True)
print(f_1)
clean_test_environment("c",5,3)
assert len(f_1) == 1
@ -79,7 +78,7 @@ def test_c_bb():
def test_c_bi():
build_test_environment("c",5,3)
f_A = sfin.read_sfcf("data/sfcf_test/data_c", "data_c", "f_A", quarks="lquark lquark", wf = 0, version = "2.0c")
f_A = sfin.read_sfcf("tests/data/sfcf_test/data_c", "data_c", "f_A", quarks="lquark lquark", wf = 0, version = "2.0c")
print(f_A)
clean_test_environment("c",5,3)
assert len(f_A) == 3
@ -89,7 +88,7 @@ def test_c_bi():
def test_c_bib():
build_test_environment("c",5,3)
f_V0 = sfin.read_sfcf("data/sfcf_test/data_c", "data_c", "F_V0",quarks="lquark lquark", wf = 0, wf2 = 0, version = "2.0c", b2b = True)
f_V0 = sfin.read_sfcf("tests/data/sfcf_test/data_c", "data_c", "F_V0",quarks="lquark lquark", wf = 0, wf2 = 0, version = "2.0c", b2b = True)
print(f_V0)
clean_test_environment("c",5,3)
assert len(f_V0) == 3
@ -99,7 +98,7 @@ def test_c_bib():
def test_a_bb():
build_test_environment("a",5,3)
f_1 = sfin.read_sfcf("data/sfcf_test/data_a", "data_a", "f_1", quarks="lquark lquark", wf = 0, wf2=0, version = "2.0a", single = True)
f_1 = sfin.read_sfcf("tests/data/sfcf_test/data_a", "data_a", "f_1", quarks="lquark lquark", wf = 0, wf2=0, version = "2.0a", single = True)
print(f_1)
clean_test_environment("a",5,3)
assert len(f_1) == 1
@ -107,7 +106,7 @@ def test_a_bb():
def test_a_bi():
build_test_environment("a",5,3)
f_A = sfin.read_sfcf("data/sfcf_test/data_a", "data_a", "f_A", quarks="lquark lquark", wf = 0, version = "2.0a")
f_A = sfin.read_sfcf("tests/data/sfcf_test/data_a", "data_a", "f_A", quarks="lquark lquark", wf = 0, version = "2.0a")
print(f_A)
clean_test_environment("a",5,3)
assert len(f_A) == 3
@ -117,7 +116,7 @@ def test_a_bi():
def test_a_bib():
build_test_environment("a",5,3)
f_V0 = sfin.read_sfcf("data/sfcf_test/data_a", "data_a", "F_V0",quarks="lquark lquark", wf = 0, wf2 = 0, version = "2.0a", b2b = True)
f_V0 = sfin.read_sfcf("tests/data/sfcf_test/data_a", "data_a", "F_V0",quarks="lquark lquark", wf = 0, wf2 = 0, version = "2.0a", b2b = True)
print(f_V0)
clean_test_environment("a",5,3)
assert len(f_V0) == 3