diff --git a/bfps/test_data/test_checkpoint_0.h5 b/bfps/test_data/test_checkpoint_0.h5 new file mode 100644 index 0000000000000000000000000000000000000000..236da62d4dffeb15b056ea3869f6343c74298e94 Binary files /dev/null and b/bfps/test_data/test_checkpoint_0.h5 differ diff --git a/setup.py b/setup.py index e39c81b1e9e7fb991d78e95ac040a3cb7edb531e..df707401f7dbd1d4925b5df8b075d5af97bcad58 100644 --- a/setup.py +++ b/setup.py @@ -252,8 +252,10 @@ setup( packages = ['bfps'], install_requires = ['numpy>=1.8', 'h5py>=2.2.1'], cmdclass={'compile_library' : CompileLibCommand}, - package_data = {'bfps': header_list + ['libbfps.a', - 'install_info.pickle']}, + package_data = {'bfps': header_list + + ['libbfps.a', + 'install_info.pickle'] + + ['test_data/test_checkpoint_0.h5']}, entry_points = { 'console_scripts': [ 'bfps = bfps.__main__:main', diff --git a/tests/DNS/test_basic.py b/tests/DNS/test_basic.py index 4b05585c3422ab35b07fe247a63954f2b3f2f182..1c37d06d8ff6ef25b69513009353cec70f73419a 100644 --- a/tests/DNS/test_basic.py +++ b/tests/DNS/test_basic.py @@ -1,8 +1,11 @@ -from bfps.DNS import DNS +import os import numpy as np import h5py import sys +import bfps +from bfps import DNS + def main(): niterations = 32 @@ -12,6 +15,9 @@ def main(): c.launch( ['NSVEparticles', '-n', '32', + '--src-simname', 'test', + '--src-wd', bfps.lib_dir + '/test_data', + '--src-iteration', '0', '--simname', 'dns_nsveparticles', '--np', '4', '--ntpp', '1', @@ -22,8 +28,25 @@ def main(): '--nparticles', '{0}'.format(nparticles), '--particle-rand-seed', '2', '--njobs', '{0}'.format(njobs), - '--wd', './'] + - sys.argv[1:] ) + '--wd', './'] + + sys.argv[1:]) + f0 = h5py.File( + os.path.join( + os.path.join(bfps.lib_dir, 'test_data'), + 'test_checkpoint_0.h5'), + 'r') + f1 = h5py.File(c.get_checkpoint_0_fname(), 'r') + for iteration in [0, 32, 64]: + field0 = f0['vorticity/complex/{0}'.format(iteration)].value + field1 = f1['vorticity/complex/{0}'.format(iteration)].value + assert(np.max(np.abs(field0 - field1)) < 1e-5) + x0 = f0['tracers0/state/{0}'.format(iteration)].value + x1 = f1['tracers0/state/{0}'.format(iteration)].value + assert(np.max(np.abs(x0 - x1)) < 1e-5) + y0 = f0['tracers0/rhs/{0}'.format(iteration)].value + y1 = f1['tracers0/rhs/{0}'.format(iteration)].value + assert(np.max(np.abs(y0 - y1)) < 1e-5) + print('SUCCESS! Basic test passed.') return None if __name__ == '__main__':