From 00d67110f2016f9a0689ce06ad895633532e467b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Mon, 9 Mar 2015 08:59:48 +0100
Subject: [PATCH] Removed data files for tests/initval_file.

Generate the data instead with matlab's script
ramst_initval_file_data.m. Note that the excel files are only produced
and tested under Windows (xlswrite is not working on OS X, need to check
for Linux).
---
 tests/Makefile.am                             |  34 +++++++++++++++---
 tests/initval_file/ramst_initval_file.mod     |  16 ++++++---
 tests/initval_file/ramst_initval_file_data.m  |  18 ++++++----
 .../ramst_initval_file_data_col_vec_mat.mat   | Bin 339 -> 0 bytes
 .../ramst_initval_file_data_row_vec_mat.mat   | Bin 339 -> 0 bytes
 .../initval_file/ramst_initval_file_excel.xls | Bin 38400 -> 0 bytes
 6 files changed, 53 insertions(+), 15 deletions(-)
 delete mode 100644 tests/initval_file/ramst_initval_file_data_col_vec_mat.mat
 delete mode 100644 tests/initval_file/ramst_initval_file_data_row_vec_mat.mat
 delete mode 100644 tests/initval_file/ramst_initval_file_excel.xls

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4679cb7754..184ddf691a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -211,6 +211,8 @@ XFAIL_MODFILES = ramst_xfail.mod \
 	estim_param_in_shock_value.mod \
 	optimal_policy/Ramsey/ramsey_ex_wrong_ss_file.mod
 
+MFILES = initval_file/ramst_initval_file_data.m
+
 # Dependencies
 example1_use_dll.m.trs: example1.m.trs
 example1_use_dll.o.trs: example1.o.trs
@@ -285,6 +287,11 @@ deterministic_simulations/rbc_det_exo_lag_2c.m.trs: deterministic_simulations/rb
 deterministic_simulations/rbc_det_exo_lag_2b.o.trs: deterministic_simulations/rbc_det_exo_lag_2a.o.trs
 deterministic_simulations/rbc_det_exo_lag_2c.o.trs: deterministic_simulations/rbc_det_exo_lag_2a.o.trs
 
+initval_file/ramst_initval_file.m.trs: initval_file/ramst_initval_file_data.m.tls
+initval_file/ramst_initval_file.o.trs: initval_file/ramst_initval_file_data.o.tls
+
+
+
 # Matlab TRS Files
 M_TRS_FILES = $(patsubst %.mod, %.m.trs, $(MODFILES))
 M_TRS_FILES += run_block_byte_tests_matlab.m.trs run_reporting_test_matlab.m.trs run_all_unitary_tests.m.trs
@@ -295,12 +302,21 @@ O_TRS_FILES = $(patsubst %.mod, %.o.trs, $(MODFILES))
 O_TRS_FILES += run_block_byte_tests_octave.o.trs run_reporting_test_octave.o.trs run_all_unitary_tests.o.trs
 O_XFAIL_TRS_FILES = $(patsubst %.mod, %.o.trs, $(XFAIL_MODFILES))
 
+# Matlab TLS Files
+M_TLS_FILES = $(patsubst %.m, %.m.tls, $(MFILES))
+
+# Octave TLS Files
+O_TLS_FILES = $(patsubst %.m, %.o.tls, $(MFILES))
+
+
+
 EXTRA_DIST = \
 	read_trs_files.sh \
 	run_test_matlab.m \
 	run_test_octave.m \
 	$(MODFILES) \
 	$(XFAIL_MODFILES) \
+	$(MFILES) \
 	run_block_byte_tests_matlab.m \
 	run_block_byte_tests_octave.m \
 	run_reporting_test_matlab.m \
@@ -321,10 +337,6 @@ EXTRA_DIST = \
 	fs2000_ssfile_aux.m \
 	printMakeCheckMatlabErrMsg.m \
 	printMakeCheckOctaveErrMsg.m \
-	initval_file/ramst_initval_file_data.m \
-	initval_file/ramst_initval_file_data_col_vec_mat.mat \
-	initval_file/ramst_initval_file_data_row_vec_mat.mat \
-	initval_file/ramst_initval_file_excel.xls \
 	test.m \
 	AIM/data_ca1.m \
 	AIM/fs2000_b1L1L_AIM_steadystate.m \
@@ -422,10 +434,22 @@ check-octave: $(O_XFAIL_TRS_FILES) $(O_TRS_FILES)
 	DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(PWD)" \
 		$(OCTAVE) --no-init-file --silent --no-history $< > $*.o.log 2>&1
 
+%.m.tls : %.m
+	TOP_TEST_DIR="$(PWD)"  FILESTEM="$*" \
+		$(MATLAB)/bin/matlab -nosplash -nodisplay -r run_m_script
+	touch $*.m.tls
+
+%.o.tls : %.m
+	TOP_TEST_DIR="$(PWD)"  FILESTEM="$*" \
+		$(OCTAVE) --no-init-file --silent --no-history run_m_script 2>&1
+
+
 clean-local:
 	rm -f $(M_TRS_FILES) \
+		$(M_TLS_FILES) \
 		$(M_XFAIL_TRS_FILES) \
 		$(O_TRS_FILES) \
+		$(O_TLS_FILES) \
 		$(O_XFAIL_TRS_FILES) \
 		$(patsubst %.trs, %.log, $(M_TRS_FILES)) \
 		$(patsubst %.trs, %.log, $(M_XFAIL_TRS_FILES)) \
@@ -492,3 +516,5 @@ clean-local:
 		ms-sbvar/tmv_rr_tr
 
 	rm -f estimation/test_matrix.mat
+
+	rm -f initval_file/ramst_initval_file_data_col_vec_mat.mat initval_file/ramst_initval_file_data_row_vec_mat.mat initval_file/ramst_initval_file_excel.xls
diff --git a/tests/initval_file/ramst_initval_file.mod b/tests/initval_file/ramst_initval_file.mod
index c45327faf5..8a8e36edcd 100644
--- a/tests/initval_file/ramst_initval_file.mod
+++ b/tests/initval_file/ramst_initval_file.mod
@@ -22,26 +22,34 @@ k = ((delt+bet)/(1.0*aa*alph))^(1/(alph-1));
 c = aa*k^alph-delt*k;
 end;
 
+disp('Test #1')
 initval_file(filename = ramst_initval_file_data);
 
 steady;
 
 simul(periods=200);
 
+
+disp('Test #2')
 initval_file(filename = ramst_initval_file_data_row_vec_mat);
 
 steady;
 
 simul(periods=200);
 
+
+disp('Test #3')
+
 initval_file(filename = ramst_initval_file_data_col_vec_mat);
 
 steady;
 
 simul(periods=200);
 
-initval_file(filename = ramst_initval_file_excel);
+if ispc()
+   disp('Test #4')
 
-steady;
-
-simul(periods=200);
+    initval_file(filename = ramst_initval_file_excel);
+    steady;
+    simul(periods=200);
+end
diff --git a/tests/initval_file/ramst_initval_file_data.m b/tests/initval_file/ramst_initval_file_data.m
index f7d82234c1..d5b750a310 100644
--- a/tests/initval_file/ramst_initval_file_data.m
+++ b/tests/initval_file/ramst_initval_file_data.m
@@ -1,10 +1,14 @@
 x = vertcat([ 1; 1.2 ], repmat(1, 200, 1));
 k = repmat(12.7551, 202, 1);
 c = repmat(1.53061, 202, 1);
-% save ramst_initval_file_data_col_vec_mat
-% xlswrite('ramst_initval_file_excel',[x k c],1,'A2')
-% xlswrite('ramst_initval_file_excel',{'x' 'k' 'c'},1,'A1')
-% c=c'
-% k=k'
-% x=x'
-% save ramst_initval_file_data_row_vec_mat
\ No newline at end of file
+save('ramst_initval_file_data_col_vec_mat');
+
+if ispc()
+    xlswrite('ramst_initval_file_excel',[x k c],1,'A2');
+    xlswrite('ramst_initval_file_excel',{'x' 'k' 'c'},1,'A1');
+end
+
+c=c';
+k=k';
+x=x';
+save('ramst_initval_file_data_row_vec_mat');
\ No newline at end of file
diff --git a/tests/initval_file/ramst_initval_file_data_col_vec_mat.mat b/tests/initval_file/ramst_initval_file_data_col_vec_mat.mat
deleted file mode 100644
index 48c59f12f63781c4af061077c866309150505170..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 339
zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w+L}(NS<NN=+<DO;O0t
zvr-7jC{^&wFH<lwS1_=&GBvX@G*vJ%Ff>sh5-`93qo*%F0|SFS0|P_FoX5!t2^k5=
z2@FbXd~6)NOlt!EX)2_#B)he7DV*gz!f4>iBmbuN;DgP!J@#Jxmll7~u=VP{wB!Oq
z(zZ`aLB`k-FeV3VjDu_A&CREtn`Bz`z|2@|qH4lm^nB4~VoXVanlf4b_g<eBe-n}1
NGUWop$wi0u007%QXY&96

diff --git a/tests/initval_file/ramst_initval_file_data_row_vec_mat.mat b/tests/initval_file/ramst_initval_file_data_row_vec_mat.mat
deleted file mode 100644
index 1d975256775a3b202f95b7d80e37a253a86aaaf0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 339
zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w+L}(NS<NN=+<DO;O0t
zvr-7jC{^&wFH<lwS1_=&GBvX@v{W!MFf>sh5-`93qo*%F0|SFS0|P_FoX5!t2^k5=
z2@FbXd~6)NOltz{lm+H9UGCu#b(kgG!JN<~VRu8i`CxjrMEw-GrS2~StER{;^<2mp
zKk3s_kTG@yjJXLmrlE^zbNbZtnU_i=U}m^ydSx)^A6~SX7*kF{O;NM|Ry{M|_u)E(
NTQnCk9;-XF2LS1RV^jbD

diff --git a/tests/initval_file/ramst_initval_file_excel.xls b/tests/initval_file/ramst_initval_file_excel.xls
deleted file mode 100644
index 1bea58b16c2cd91ac57cb687cbe520a33bcf06f3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 38400
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
Z4EYSnU^hUnj3v!I7G(Gzv~C7wKLC4jdiDSS

-- 
GitLab