diff --git a/python/tests/reference/Result/place/test_place[0].pbz2 b/python/tests/reference/Result/place/test_place[0].pbz2 new file mode 100644 index 000000000..2d1d432b9 Binary files /dev/null and b/python/tests/reference/Result/place/test_place[0].pbz2 differ diff --git a/python/tests/reference/Result/place_1.pbz2 b/python/tests/reference/Result/place/test_place[1].pbz2 similarity index 100% rename from python/tests/reference/Result/place_1.pbz2 rename to python/tests/reference/Result/place/test_place[1].pbz2 diff --git a/python/tests/reference/Result/place/test_place[2].pbz2 b/python/tests/reference/Result/place/test_place[2].pbz2 new file mode 100644 index 000000000..cfc94f1ee Binary files /dev/null and b/python/tests/reference/Result/place/test_place[2].pbz2 differ diff --git a/python/tests/reference/Result/place/test_place[3].pbz2 b/python/tests/reference/Result/place/test_place[3].pbz2 new file mode 100644 index 000000000..96f782ae2 Binary files /dev/null and b/python/tests/reference/Result/place/test_place[3].pbz2 differ diff --git a/python/tests/reference/Result/place/test_place[4].pbz2 b/python/tests/reference/Result/place/test_place[4].pbz2 new file mode 100644 index 000000000..f2f744121 Binary files /dev/null and b/python/tests/reference/Result/place/test_place[4].pbz2 differ diff --git a/python/tests/reference/Result/place_5.pbz2 b/python/tests/reference/Result/place/test_place[5].pbz2 similarity index 100% rename from python/tests/reference/Result/place_5.pbz2 rename to python/tests/reference/Result/place/test_place[5].pbz2 diff --git a/python/tests/reference/Result/place_6.pbz2 b/python/tests/reference/Result/place/test_place[6].pbz2 similarity index 100% rename from python/tests/reference/Result/place_6.pbz2 rename to python/tests/reference/Result/place/test_place[6].pbz2 diff --git a/python/tests/reference/Result/place/test_place[7].pbz2 b/python/tests/reference/Result/place/test_place[7].pbz2 new file mode 100644 index 000000000..cd4f098a1 Binary files /dev/null and b/python/tests/reference/Result/place/test_place[7].pbz2 differ diff --git a/python/tests/reference/Result/place_0.pbz2 b/python/tests/reference/Result/place_0.pbz2 deleted file mode 100644 index e8a7d1399..000000000 Binary files a/python/tests/reference/Result/place_0.pbz2 and /dev/null differ diff --git a/python/tests/reference/Result/place_2.pbz2 b/python/tests/reference/Result/place_2.pbz2 deleted file mode 100644 index 399aaaa79..000000000 Binary files a/python/tests/reference/Result/place_2.pbz2 and /dev/null differ diff --git a/python/tests/reference/Result/place_3.pbz2 b/python/tests/reference/Result/place_3.pbz2 deleted file mode 100644 index a5fcd4168..000000000 Binary files a/python/tests/reference/Result/place_3.pbz2 and /dev/null differ diff --git a/python/tests/reference/Result/place_4.pbz2 b/python/tests/reference/Result/place_4.pbz2 deleted file mode 100644 index 5970e6237..000000000 Binary files a/python/tests/reference/Result/place_4.pbz2 and /dev/null differ diff --git a/python/tests/reference/Result/place_7.pbz2 b/python/tests/reference/Result/place_7.pbz2 deleted file mode 100644 index cab7a3739..000000000 Binary files a/python/tests/reference/Result/place_7.pbz2 and /dev/null differ diff --git a/python/tests/reference/Result/read/test_read[0].pbz2 b/python/tests/reference/Result/read/test_read[0].pbz2 new file mode 100644 index 000000000..e4ef0bde9 Binary files /dev/null and b/python/tests/reference/Result/read/test_read[0].pbz2 differ diff --git a/python/tests/reference/Result/read_1.pbz2 b/python/tests/reference/Result/read/test_read[1].pbz2 similarity index 100% rename from python/tests/reference/Result/read_1.pbz2 rename to python/tests/reference/Result/read/test_read[1].pbz2 diff --git a/python/tests/reference/Result/read_2.pbz2 b/python/tests/reference/Result/read/test_read[2].pbz2 similarity index 100% rename from python/tests/reference/Result/read_2.pbz2 rename to python/tests/reference/Result/read/test_read[2].pbz2 diff --git a/python/tests/reference/Result/read_3.pbz2 b/python/tests/reference/Result/read/test_read[3].pbz2 similarity index 100% rename from python/tests/reference/Result/read_3.pbz2 rename to python/tests/reference/Result/read/test_read[3].pbz2 diff --git a/python/tests/reference/Result/read_4.pbz2 b/python/tests/reference/Result/read/test_read[4].pbz2 similarity index 100% rename from python/tests/reference/Result/read_4.pbz2 rename to python/tests/reference/Result/read/test_read[4].pbz2 diff --git a/python/tests/reference/Result/read_5.pbz2 b/python/tests/reference/Result/read/test_read[5].pbz2 similarity index 100% rename from python/tests/reference/Result/read_5.pbz2 rename to python/tests/reference/Result/read/test_read[5].pbz2 diff --git a/python/tests/reference/Result/read_6.pbz2 b/python/tests/reference/Result/read/test_read[6].pbz2 similarity index 100% rename from python/tests/reference/Result/read_6.pbz2 rename to python/tests/reference/Result/read/test_read[6].pbz2 diff --git a/python/tests/reference/Result/read/test_read[7].pbz2 b/python/tests/reference/Result/read/test_read[7].pbz2 new file mode 100644 index 000000000..c1e4c31e9 Binary files /dev/null and b/python/tests/reference/Result/read/test_read[7].pbz2 differ diff --git a/python/tests/reference/Result/read_0.pbz2 b/python/tests/reference/Result/read_0.pbz2 deleted file mode 100644 index 6649f9994..000000000 Binary files a/python/tests/reference/Result/read_0.pbz2 and /dev/null differ diff --git a/python/tests/reference/Result/read_7.pbz2 b/python/tests/reference/Result/read_7.pbz2 deleted file mode 100644 index ef25acbf9..000000000 Binary files a/python/tests/reference/Result/read_7.pbz2 and /dev/null differ diff --git a/python/tests/reference/Result/save_VTK/test_vtk[0-0-0].md5 b/python/tests/reference/Result/save_VTK/test_vtk[0-0-0].md5 new file mode 100644 index 000000000..c7fe1c66e --- /dev/null +++ b/python/tests/reference/Result/save_VTK/test_vtk[0-0-0].md5 @@ -0,0 +1 @@ +4ab2840cc5ba8d0b17a6fffb014b31a8 \ No newline at end of file diff --git a/python/tests/reference/Result/save_VTK/test_vtk[0-0-1].md5 b/python/tests/reference/Result/save_VTK/test_vtk[0-0-1].md5 new file mode 100644 index 000000000..e4af3f438 --- /dev/null +++ b/python/tests/reference/Result/save_VTK/test_vtk[0-0-1].md5 @@ -0,0 +1 @@ +ff0f4079c18fcbb05fd08cf788230183 \ No newline at end of file diff --git a/python/tests/reference/Result/save_VTK/test_vtk[0-0-2].md5 b/python/tests/reference/Result/save_VTK/test_vtk[0-0-2].md5 new file mode 100644 index 000000000..678cbf390 --- /dev/null +++ b/python/tests/reference/Result/save_VTK/test_vtk[0-0-2].md5 @@ -0,0 +1 @@ +3e72bea74635365e78a703254107ee07 \ No newline at end of file diff --git a/python/tests/reference/Result/save_VTK/test_vtk[1-0-0].md5 b/python/tests/reference/Result/save_VTK/test_vtk[1-0-0].md5 new file mode 100644 index 000000000..974866e6d --- /dev/null +++ b/python/tests/reference/Result/save_VTK/test_vtk[1-0-0].md5 @@ -0,0 +1 @@ +947f5fe28599a16cfb444b7371df2cae \ No newline at end of file diff --git a/python/tests/reference/Result/save_VTK/test_vtk[1-0-1].md5 b/python/tests/reference/Result/save_VTK/test_vtk[1-0-1].md5 new file mode 100644 index 000000000..0e9c5eb35 --- /dev/null +++ b/python/tests/reference/Result/save_VTK/test_vtk[1-0-1].md5 @@ -0,0 +1 @@ +76f4147d98999f131272a1d762fcf93c \ No newline at end of file diff --git a/python/tests/reference/Result/save_VTK/test_vtk[1-0-2].md5 b/python/tests/reference/Result/save_VTK/test_vtk[1-0-2].md5 new file mode 100644 index 000000000..d3c633430 --- /dev/null +++ b/python/tests/reference/Result/save_VTK/test_vtk[1-0-2].md5 @@ -0,0 +1 @@ +e76b8ecc66a516eccd6b3e15fc8adc66 \ No newline at end of file diff --git a/python/tests/test_Result.py b/python/tests/test_Result.py index 0d66f8cd5..293ace66c 100644 --- a/python/tests/test_Result.py +++ b/python/tests/test_Result.py @@ -4,6 +4,7 @@ import time import shutil import os import sys +import hashlib from datetime import datetime import pytest @@ -376,10 +377,31 @@ class TestResult: b = default.coordinates0_node.reshape(tuple(default.cells+1)+(3,),order='F') assert np.allclose(a,b) - @pytest.mark.parametrize('output',['F','*',['F','P']]) - def test_vtk(self,tmp_path,default,output): + # need to wait for writing in parallel, output order might change if select more then one + @pytest.mark.parametrize('output',['F','*',['P']],ids=range(3)) + @pytest.mark.parametrize('fname',['12grains6x7x8_tensionY.hdf5'],ids=range(1)) + @pytest.mark.parametrize('inc',[4,0],ids=range(2)) + def test_vtk(self,request,tmp_path,ref_path,update,output,fname,inc): + result = Result(ref_path/fname) + result.view('increments',inc) os.chdir(tmp_path) - default.save_VTK(output) + result.save_VTK(output) + fname = fname.split('.')[0]+f'_inc{(inc if type(inc) == int else inc[0]):0>2}.vtr' + last = '' + for i in range(10): + if os.path.isfile(tmp_path/fname): + with open(fname) as f: + cur = hashlib.md5(f.read().encode()).hexdigest() + if cur == last: + break + else: + last = cur + time.sleep(.5) + if update: + with open((ref_path/'save_VTK'/request.node.name).with_suffix('.md5'),'w') as f: + f.write(cur) + with open((ref_path/'save_VTK'/request.node.name).with_suffix('.md5')) as f: + assert cur == f.read() @pytest.mark.parametrize('mode',['point','cell']) def test_vtk_mode(self,tmp_path,single_phase,mode): @@ -416,13 +438,13 @@ class TestResult: for key,value in view.items(): result.view(key,value) - N = request.node.name[8:].split('[')[1].split(']')[0] + fname = request.node.name cur = result.read(output,compress,strip) if update: - with bz2.BZ2File(ref_path/f'read_{N}.pbz2','w') as f: + with bz2.BZ2File((ref_path/'read'/fname).with_suffix('.pbz2'),'w') as f: pickle.dump(cur,f) - with bz2.BZ2File(ref_path/f'read_{N}.pbz2') as f: + with bz2.BZ2File((ref_path/'read'/fname).with_suffix('.pbz2')) as f: assert dict_equal(cur,pickle.load(f)) @@ -441,11 +463,11 @@ class TestResult: for key,value in view.items(): result.view(key,value) - N = request.node.name[8:].split('[')[1].split(']')[0] + fname = request.node.name cur = result.place(output,compress,strip,constituents) if update: - with bz2.BZ2File(ref_path/f'place_{N}.pbz2','w') as f: + with bz2.BZ2File((ref_path/'place'/fname).with_suffix('.pbz2'),'w') as f: pickle.dump(cur,f) - with bz2.BZ2File(ref_path/f'place_{N}.pbz2') as f: + with bz2.BZ2File((ref_path/'place'/fname).with_suffix('.pbz2')) as f: assert dict_equal(cur,pickle.load(f))