From 964302e7b9b8f2c9f7f87d5c26f2806d946b4d44 Mon Sep 17 00:00:00 2001
From: dave <dave@dtu.dk>
Date: Wed, 6 Apr 2016 23:31:28 +0200
Subject: [PATCH] prepost.Simulations: updated test and data

---
 .../ref/control/minimal_demo_file.txt         |   1 +
 .../tests/data/demo_dlc/ref/prepost/A0001.pkl | Bin 4418 -> 0 bytes
 .../data/demo_dlc/ref/prepost/remote.pkl      | Bin 0 -> 4634 bytes
 .../{A0001_tags.txt => remote_tags.txt}       |   6 +--
 .../source/control/minimal_demo_file.txt      |   1 +
 wetb/prepost/tests/test_Simulations.py        |  35 ++++++++++++------
 6 files changed, 28 insertions(+), 15 deletions(-)
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/control/minimal_demo_file.txt
 delete mode 100755 wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl
 create mode 100644 wetb/prepost/tests/data/demo_dlc/ref/prepost/remote.pkl
 rename wetb/prepost/tests/data/demo_dlc/ref/prepost/{A0001_tags.txt => remote_tags.txt} (97%)
 mode change 100755 => 100644
 create mode 100644 wetb/prepost/tests/data/demo_dlc/source/control/minimal_demo_file.txt

diff --git a/wetb/prepost/tests/data/demo_dlc/ref/control/minimal_demo_file.txt b/wetb/prepost/tests/data/demo_dlc/ref/control/minimal_demo_file.txt
new file mode 100644
index 00000000..8db26215
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/ref/control/minimal_demo_file.txt
@@ -0,0 +1 @@
+just one demo line
diff --git a/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl b/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001.pkl
deleted file mode 100755
index 2bec5738cd61979d1887c8e6a66f398c8f4f161e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4418
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

diff --git a/wetb/prepost/tests/data/demo_dlc/ref/prepost/remote.pkl b/wetb/prepost/tests/data/demo_dlc/ref/prepost/remote.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..424870abe4d235d40b0bc86884127247ace71cde
GIT binary patch
literal 4634
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
IFRlE40ly)SPXGV_

literal 0
HcmV?d00001

diff --git a/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt b/wetb/prepost/tests/data/demo_dlc/ref/prepost/remote_tags.txt
old mode 100755
new mode 100644
similarity index 97%
rename from wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt
rename to wetb/prepost/tests/data/demo_dlc/ref/prepost/remote_tags.txt
index 6de32e2b..21c9f3dd
--- a/wetb/prepost/tests/data/demo_dlc/ref/prepost/A0001_tags.txt
+++ b/wetb/prepost/tests/data/demo_dlc/ref/prepost/remote_tags.txt
@@ -63,7 +63,7 @@
                         [wdir] : 0                   
                     [windramp] : False               
                   [wsp factor] : 1.0                 
-              [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv']
+              [zip_root_files] : []                  
 
 -------------------------------------------------------------------------------
                  opt_tags set
@@ -119,7 +119,7 @@
                         [wdir] : 0                   
                     [windramp] : False               
                   [wsp factor] : 0.888888888889      
-              [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv']
+              [zip_root_files] : []                  
 
 -------------------------------------------------------------------------------
                  opt_tags set
@@ -175,4 +175,4 @@
                         [wdir] : 0                   
                     [windramp] : False               
                   [wsp factor] : 0.8                 
-              [zip_root_files] : ['pbs_in_file_cache.txt', 'A0001_ErrorLog.csv']
+              [zip_root_files] : []                  
diff --git a/wetb/prepost/tests/data/demo_dlc/source/control/minimal_demo_file.txt b/wetb/prepost/tests/data/demo_dlc/source/control/minimal_demo_file.txt
new file mode 100644
index 00000000..8db26215
--- /dev/null
+++ b/wetb/prepost/tests/data/demo_dlc/source/control/minimal_demo_file.txt
@@ -0,0 +1 @@
+just one demo line
diff --git a/wetb/prepost/tests/test_Simulations.py b/wetb/prepost/tests/test_Simulations.py
index f4c9cfa4..9d6ba1d0 100644
--- a/wetb/prepost/tests/test_Simulations.py
+++ b/wetb/prepost/tests/test_Simulations.py
@@ -13,6 +13,7 @@ standard_library.install_aliases()
 import unittest
 import os
 import filecmp
+import pickle
 
 from wetb.prepost import dlctemplate as tmpl
 
@@ -26,29 +27,39 @@ class TestGenerateInputs(unittest.TestCase):
         # manually configure paths, HAWC2 model root path is then constructed as
         # p_root_remote/PROJECT/sim_id, and p_root_local/PROJECT/sim_id
         # adopt accordingly when you have configured your directories differently
-        p_root_remote = os.path.join(self.basepath, 'data/')
-        p_root_local = os.path.join(self.basepath, 'data/')
+        p_root = os.path.join(self.basepath, 'data/')
         # project name, sim_id, master file name
         tmpl.PROJECT = 'demo_dlc'
         tmpl.MASTERFILE = 'demo_dlc_master_A0001.htc'
         # MODEL SOURCES, exchanche file sources
-        tmpl.P_RUN = os.path.join(p_root_remote, tmpl.PROJECT, 'remote/')
-        tmpl.P_SOURCE = os.path.join(p_root_local, tmpl.PROJECT, 'source/')
+        tmpl.P_RUN = os.path.join(p_root, tmpl.PROJECT, 'remote/')
+        tmpl.P_SOURCE = os.path.join(p_root, tmpl.PROJECT, 'source/')
         # location of the master file
-        tmpl.P_MASTERFILE = os.path.join(p_root_local, tmpl.PROJECT,
+        tmpl.P_MASTERFILE = os.path.join(p_root, tmpl.PROJECT,
                                          'source', 'htc', '_master/')
         # location of the pre and post processing data
-        tmpl.POST_DIR = os.path.join(p_root_remote, tmpl.PROJECT, 'remote',
+        tmpl.POST_DIR = os.path.join(p_root, tmpl.PROJECT, 'remote',
                                      'prepost/')
         tmpl.force_dir = tmpl.P_RUN
         tmpl.launch_dlcs_excel('remote', silent=True)
 
-        remote = os.path.join(p_root_remote, tmpl.PROJECT, 'remote')
-        ref = os.path.join(p_root_remote, tmpl.PROJECT, 'ref')
-        cmp = filecmp.dircmp(remote, ref)
-        self.assertTrue(len(cmp.diff_files)==0)
-        self.assertTrue(len(cmp.right_only)==0)
-        self.assertTrue(len(cmp.left_only)==0)
+        # we can not check-in empty dirs in git
+        for subdir in ['control', 'data', 'htc', 'pbs_in']:
+            remote = os.path.join(p_root, tmpl.PROJECT, 'remote', subdir)
+            ref = os.path.join(p_root, tmpl.PROJECT, 'ref', subdir)
+            cmp = filecmp.dircmp(remote, ref)
+            self.assertTrue(len(cmp.diff_files)==0)
+            self.assertTrue(len(cmp.right_only)==0)
+            self.assertTrue(len(cmp.left_only)==0)
+
+        # for the pickled file we can just read it
+        remote = os.path.join(p_root, tmpl.PROJECT, 'remote', 'prepost')
+        ref = os.path.join(p_root, tmpl.PROJECT, 'ref', 'prepost')
+        with open(os.path.join(remote, 'remote.pkl'), 'rb') as FILE:
+            pkl_remote = pickle.load(FILE)
+        with open(os.path.join(ref, 'remote.pkl'), 'rb') as FILE:
+            pkl_ref = pickle.load(FILE)
+        self.assertEqual(pkl_remote, pkl_ref)
 
 
 if __name__ == "__main__":
-- 
GitLab