diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..7063009c96fd1eaf88463243724f6d73bc951d20 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "TestFiles"] + path = TestFiles + url = https://mmpe@gitlab.windenergy.dtu.dk/toolbox/TestFiles.git diff --git a/TestFiles b/TestFiles new file mode 160000 index 0000000000000000000000000000000000000000..2935f60df7616606d4a7951b12d967d513b2b37b --- /dev/null +++ b/TestFiles @@ -0,0 +1 @@ +Subproject commit 2935f60df7616606d4a7951b12d967d513b2b37b diff --git a/wetb/utils/test_files.py b/wetb/utils/test_files.py index 3769622597cf0906815fc76e079159b7f4f9e667..6e230c3fe903baf6e51a12f3e53971a42ea4d6f1 100644 --- a/wetb/utils/test_files.py +++ b/wetb/utils/test_files.py @@ -5,39 +5,36 @@ Created on 20. jul. 2017 ''' import os import wetb -import urllib.request -from fileinput import filename import inspect wetb_rep_path = os.path.join(os.path.dirname(wetb.__file__), "../") -default_TestFile_rep_path=os.path.join(os.path.dirname(wetb.__file__) + "/../../TestFiles/") -def get_test_file(filename): + +def _absolute_filename(filename): if not os.path.isabs(filename): - index = [os.path.realpath(s[1]) for s in inspect.stack()].index(__file__) + 1 - tfp = os.path.dirname(inspect.stack()[index][1]) + "/test_files/" + index = [os.path.realpath(s[1]) for s in inspect.stack()].index(__file__) + 2 + caller_module_path = os.path.dirname(inspect.stack()[index][1]) + tfp = caller_module_path + "/test_files/" filename = tfp + filename - + return filename + +def get_test_file(filename): + filename = _absolute_filename(filename) if os.path.exists(filename): return filename else: - filename2 = os.path.realpath(os.path.join(wetb_rep_path, 'downloaded_test_files', os.path.relpath(filename, wetb_rep_path))) - if not os.path.isfile(filename2): - #url = 'https://gitlab.windenergy.dtu.dk/toolbox/TestFiles/%s'%os.path.relpath(filename, wetb_rep_path) - url = 'http://tools.windenergy.dtu.dk/TestFiles/%s.txt'%os.path.relpath(filename, wetb_rep_path).replace("\\","/") - print ("download %s\nfrom %s"%(filename, url)) - if not os.path.exists(os.path.dirname(filename2)): - os.makedirs(os.path.dirname(filename2)) - urllib.request.urlretrieve(url, filename2) - return filename2 + return os.path.join(wetb_rep_path, 'TestFiles', os.path.relpath(filename, wetb_rep_path)) + -def move2test_files(filename,TestFile_rep_path=default_TestFile_rep_path): - wetb_rep_path = os.path.join(os.path.dirname(wetb.__file__), "../") - folder = os.path.dirname(TestFile_rep_path + os.path.relpath(filename, wetb_rep_path)) +def move2test_files(filename): + filename = _absolute_filename(filename) + assert os.path.isfile(filename), filename + dst_filename = os.path.join(wetb_rep_path, 'TestFiles', os.path.relpath(filename, wetb_rep_path)) + folder = os.path.dirname(dst_filename) if not os.path.exists(folder): os.makedirs(folder) - os.rename(filename, os.path.join(folder, os.path.basename(filename)+'.txt')) + os.rename(filename, dst_filename) diff --git a/wetb/utils/tests/test_test_files.py b/wetb/utils/tests/test_test_files.py index 76a2f09c8ddccb7a46d50268beb16c8a6cf36ba7..bba8267602f8796a0d132f7f84cf821fddafa7e4 100644 --- a/wetb/utils/tests/test_test_files.py +++ b/wetb/utils/tests/test_test_files.py @@ -13,28 +13,23 @@ import wetb tfp = os.path.join(os.path.dirname(__file__) + "/test_files/") class Test_test_files(unittest.TestCase): def test_move2test_files(self): - dst = test_files.default_TestFile_rep_path+ "wetb/utils/tests/test_files/tmp_test_file.txt" + dst = os.path.dirname(wetb.__file__) + "/../TestFiles/wetb/utils/tests/test_files/tmp_test_file.txt" src = tfp+'tmp_test_file.txt' - if os.path.isdir(test_files.default_TestFile_rep_path): - if os.path.isfile(dst): - os.remove(dst) - if not os.path.isfile(src): - with open(src,'w') as fid: - fid.write("This is a test file") - move2test_files(src) - self.assertTrue(os.path.isfile(dst)) + if os.path.isfile(dst): + os.remove(dst) + if not os.path.isfile(src): + with open(src,'w') as fid: + fid.write("This is a test file") + move2test_files(src) + self.assertTrue(os.path.isfile(dst)) def test_test_files(self): - fn = os.path.realpath(os.path.dirname(wetb.__file__) + '/../downloaded_test_files/wetb/utils/tests/test_files/test_file.txt') - if os.path.isfile(fn): - os.remove(fn) fn1 = get_test_file(tfp+'test_file.txt') self.assertTrue(fn1) - os.remove(fn1) fn2 = get_test_file('test_file.txt') - self.assertEqual(fn2, fn) - self.assertTrue(os.path.isfile(fn2)) + self.assertEqual(fn1, fn2) + if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testName']