Commit b9dee2cac272651f85b7bc56f0bc8f2368290a12
1 parent
e5ded94f
Exists in
master
and in
1 other branch
bugfix test date en cours...
Showing
4 changed files
with
95 additions
and
18 deletions
Show diff stats
CHANGES.txt
... | ... | @@ -74,6 +74,11 @@ Outre ces changements, voici d'autres changements importants : |
74 | 74 | ======= CHANGES ======= |
75 | 75 | |
76 | 76 | ------- |
77 | +30/07/2020 v3.7.9.78 (EP) | |
78 | + - (i) Meilleur résilience (reprise après crash) du script UPDATE avec fichier ftpf (files_to_process.txt file) | |
79 | + => permet de s'assurer que les script sql non exécutés (à cause crash ou stop script) le seront à l'itération suivante | |
80 | + | |
81 | +------- | |
77 | 82 | 29/07/2020 v3.7.9.77 (EP) |
78 | 83 | - Bugfix Page "Statistiques" |
79 | 84 | - (e) Nouveau champ recherche générale des matériels sur page liste des matériels (/materiels/index) : plus intuitif, plus pratique, plus efficace | ... | ... |
README.md
... | ... | @@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes : |
42 | 42 | |
43 | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | |
45 | -Date: 29/07/2020 | |
46 | -Version: 3.7.9.77 | |
45 | +Date: 30/07/2020 | |
46 | +Version: 3.7.9.78 | |
47 | 47 | |
48 | 48 | |
49 | 49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
install/update.sh
... | ... | @@ -48,7 +48,11 @@ echo |
48 | 48 | |
49 | 49 | # TEST only |
50 | 50 | #[[ $TEST == 1 ]] && (rm ../database/update/test.txt ; rm ../database/update/db-update-2014-*.sh ; touch ../database/update/db-update-2014-08-23.sh) |
51 | -[[ $TEST == 1 ]] && (rm $db_update_scripts_folder/test.txt ; rm $db_update_scripts_folder/db-update-2014-*.sql ; touch $db_update_scripts_folder/db-update-2014-08-23.sql) | |
51 | +if [[ $TEST == 1 ]] ; then | |
52 | + echo "(TEST MODE)" | |
53 | + echo "Suppression des fichiers de test créés précédemment (si besoin)" | |
54 | + (rm $db_update_scripts_folder/test.txt ; rm $db_update_scripts_folder/db-update-2014-*.sql ; touch $db_update_scripts_folder/db-update-2014-08-23.sql) | |
55 | +fi | |
52 | 56 | #mv ../database/update/db-update-2019-01-12.sh /tmp/ |
53 | 57 | |
54 | 58 | # ---------------------------------------- |
... | ... | @@ -61,7 +65,6 @@ cp -fp ../composer.json /tmp/ || abort |
61 | 65 | ######[[ $TEST == 1 ]] && cp ../composer.lock /tmp/composer.json |
62 | 66 | composer_json_prev=/tmp/composer.json |
63 | 67 | |
64 | -# b) Sauvegarde du dossier database/update/ | |
65 | 68 | # b) Sauvegarde du dossier database/update/script_sql/ |
66 | 69 | #db_update_scripts_before=( "key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10" ) |
67 | 70 | rm -rf $db_update_scripts_folder_tmp/ || abort |
... | ... | @@ -176,7 +179,52 @@ db_update_scripts_new=$( echo ${db_update_scripts_before[@]} ${db_update_scripts |
176 | 179 | #echo ${#db_update_scripts_new[@]} ; echo ${db_update_scripts_new[@]} |
177 | 180 | # Pas de nouveau script de mise à jour BD à exécuter => exit |
178 | 181 | #[[ $db_update_scripts_new == '' ]] && echo "==> PAS NÉCESSAIRE" ; exit 0 |
182 | + | |
183 | +# On ajoute les anciens fichiers (de l'itération précédente) restant à traiter | |
184 | +echo "- (a) Fichiers restant à traiter de l'itération précédente" | |
185 | +#cat $ftpf | |
186 | +if [[ $TEST == 1 ]] ; then | |
187 | + echo "db-update-2014-08-23.sql" > $ftpf | |
188 | + echo "db-update-2014-08-24.sql" >> $ftpf | |
189 | + echo "db-update-2014-08-26.sql" >> $ftpf | |
190 | + db_update_scripts_new+=("db-update-2014-08-10.sql") | |
191 | +fi | |
192 | +db_update_scripts_old=$(cat $ftpf) | |
193 | +#echo $db_update_scripts_old | |
194 | +echo ${db_update_scripts_old[*]} | |
195 | + | |
196 | +echo "- (b) Nouveaux fichiers à traiter (pour cette itération)" | |
197 | +#echo ${db_update_scripts_new[@]} | |
198 | +echo ${db_update_scripts_new[*]} | |
199 | + | |
200 | +# Ensemble des fichiers à traiter (anciens || nouveaux) : anciens UNION nouveaux (fusion sans doublon)" | |
201 | +echo "- (c) Ensemble des fichiers à traiter (a + b)" | |
202 | +declare -a db_update_scripts | |
203 | +#[[ " ${a[@]} " =~ " ${val} " ]] && echo "true" || echo "false | |
204 | +# foreach old script, add it to array db_update_scripts (only if not duplicate) | |
205 | +for db_update_script_old in ${db_update_scripts_old[*]} ; do | |
206 | + if [[ ! "${db_update_scripts_new[*]}" =~ "${db_update_script_old}" ]] ; then | |
207 | + db_update_scripts_new+=($db_update_script_old) || abort | |
208 | + fi | |
209 | +done | |
210 | +db_update_scripts_new_tmp=$( echo ${db_update_scripts_new[*]} | tr ' ' '\n' | sort ) || abort | |
211 | +db_update_scripts_new=(${db_update_scripts_new_tmp[*]}) | |
212 | +#echo ${db_update_scripts_new[*]} | |
213 | + | |
214 | + | |
215 | +# On sauve les noms des nouveaux fichiers à traiter dans le fichier ftpf (MERGE) | |
216 | +# D'abord, on le vide | |
217 | +cat /dev/null > $ftpf | |
218 | +# Puis, on le remplit | |
219 | +for db_update_script_new in ${db_update_scripts_new[*]} ; do | |
220 | + ###echo $db_update_script_new >> $ftpf | |
221 | + echo "" | |
222 | +done | |
223 | + | |
224 | +# Si ftpf est vide, rien à faire, on stoppe | |
179 | 225 | if [[ $db_update_scripts_new == '' ]] ; then |
226 | +#if [ ! -s $ftpf ] ; then | |
227 | + #echo "Le fichier ftpf est vide" | |
180 | 228 | echo "==> PAS NÉCESSAIRE" |
181 | 229 | echo |
182 | 230 | exit 0 |
... | ... | @@ -187,8 +235,10 @@ fi |
187 | 235 | |
188 | 236 | # b) Mise a jour de la BD |
189 | 237 | |
190 | -echo "Voici le(s) script(s) à exécuter :" | |
191 | -echo ${db_update_scripts_new[@]} | |
238 | +#echo "Voici le(s) script(s) à exécuter :" | |
239 | +#cat $ftpf | |
240 | +#echo $db_update_scripts_new | |
241 | +echo ${db_update_scripts_new[*]} | |
192 | 242 | # Remove files that were DELETED by "git pull" |
193 | 243 | for db_update_script_new in ${db_update_scripts_new[@]} ; do |
194 | 244 | # [[ ! -f ../database/update/$db_update_script_new ]] && echo "$db_update_script_new sera ignoré car supprimé par le 'git pull'" # TODO: supprimer cet element du tableau |
... | ... | @@ -196,20 +246,32 @@ for db_update_script_new in ${db_update_scripts_new[@]} ; do |
196 | 246 | done |
197 | 247 | # On va dans le dossier database/update/ : |
198 | 248 | #cd $db_update_scripts_folder/ || abort |
249 | +#echo "* Exécuter ces scripts SQL (o/n) ? [o]" | |
250 | +#read do_it ; [[ -z $do_it ]] && do_it="o" | |
251 | +#echo $do_it | |
252 | +#[[ $do_it != "o" ]] && exit 0 | |
253 | + | |
254 | +#echo "go on" | |
255 | +#exit | |
256 | + | |
199 | 257 | cd $db_update_scripts_folder/../ || abort |
200 | 258 | for db_update_script_new in ${db_update_scripts_new[@]} ; do |
201 | 259 | # Ignorer les fichiers supprimés par le "git pull" |
202 | 260 | #[[ ! -f $db_update_script_new ]] && continue |
203 | - [[ ! -f script_sql/$db_update_script_new ]] && continue | |
204 | - echo ; echo | |
205 | - #echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new (o/n) ? [o]" | |
206 | - echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new" | |
207 | - #read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it | |
208 | - #if [[ $do_it == "o" ]] ; then | |
209 | - #ls -l ./$db_update_script_new_ || abort | |
210 | - #./$db_update_script_new || abort | |
211 | - ./db-update.sh script_sql/$db_update_script_new || abort | |
212 | - #fi | |
261 | + #[[ ! -f script_sql/$db_update_script_new ]] && continue | |
262 | + if [[ -f script_sql/$db_update_script_new ]] ; then | |
263 | + echo ; echo | |
264 | + #echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new (o/n) ? [o]" | |
265 | + echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new" | |
266 | + #read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it | |
267 | + #if [[ $do_it == "o" ]] ; then | |
268 | + #ls -l ./$db_update_script_new_ || abort | |
269 | + #./$db_update_script_new || abort | |
270 | + ./db-update.sh script_sql/$db_update_script_new || abort | |
271 | + #fi | |
272 | + fi | |
273 | + # On supprime le fichier traité de $ftpf | |
274 | + # TODO: | |
213 | 275 | done |
214 | 276 | #[[ $TEST == 1 ]] && (rm test.txt ; rm db-update-2014-*.sh) |
215 | 277 | [[ $TEST == 1 ]] && (rm script_sql/test.txt ; rm script_sql/db-update-2014-*.sql) | ... | ... |
tests/TestCase/Controller/MaterielsControllerTest.php
... | ... | @@ -2566,7 +2566,11 @@ class MaterielsControllerTest extends General { |
2566 | 2566 | //debug($_SESSION['Flash']); |
2567 | 2567 | $flash_message = isset($_SESSION['Flash']['flash']) ? $_SESSION['Flash']['flash'][0]['message'] : []; |
2568 | 2568 | //debug($flash_message); |
2569 | - if ($SUCCESS && $expected_flash_message) $this->assertTrue($flash_message != [], "Pas de message flash alors qu'il devrait y en avoir un !"); | |
2569 | + if ($SUCCESS && $expected_flash_message) { | |
2570 | + debug($expected_flash_message); | |
2571 | + debug($flash_message); | |
2572 | + $this->assertTrue($flash_message != [], "Pas de message flash alors qu'il devrait y en avoir un !"); | |
2573 | + } | |
2570 | 2574 | if ($flash_message) { |
2571 | 2575 | // Assert a flash message in the 'flash' key. |
2572 | 2576 | // Test message partiel |
... | ... | @@ -2596,7 +2600,7 @@ class MaterielsControllerTest extends General { |
2596 | 2600 | //$full_action = "/materiels/$action_link"; |
2597 | 2601 | $full_action = "/$controller/$action_link"; |
2598 | 2602 | if ($id) $full_action .= "/$id"; |
2599 | - //debug($full_action); | |
2603 | + debug($full_action); | |
2600 | 2604 | //debug($data); |
2601 | 2605 | $this->post($full_action, $data); |
2602 | 2606 | //if ($action =='statusValidated') return; |
... | ... | @@ -2759,6 +2763,7 @@ class MaterielsControllerTest extends General { |
2759 | 2763 | //$d2 = 'date_reception'; |
2760 | 2764 | $d1 = $d[0]; |
2761 | 2765 | $d2 = $d[1]; |
2766 | + | |
2762 | 2767 | // - date (reception) < date acq => KO |
2763 | 2768 | $date = $yesterday = new \DateTime('-1 days',$tz); |
2764 | 2769 | /* |
... | ... | @@ -2771,6 +2776,7 @@ class MaterielsControllerTest extends General { |
2771 | 2776 | ]; |
2772 | 2777 | $i++; debug("- test $i.a"); |
2773 | 2778 | $this->_doActionAndCheckResult($action, $id, FALSE, $new_data); |
2779 | + | |
2774 | 2780 | // - date (reception) = date acq => OK |
2775 | 2781 | $date = $today; |
2776 | 2782 | $new_data = [ |
... | ... | @@ -2779,6 +2785,7 @@ class MaterielsControllerTest extends General { |
2779 | 2785 | ]; |
2780 | 2786 | $i++; debug("- test $i.b"); |
2781 | 2787 | $this->_doActionAndCheckResult($action, $id, TRUE, $new_data); |
2788 | + | |
2782 | 2789 | // - date (reception) > date_acq (jqa MAX_DIFF - 1 jour) => OK... |
2783 | 2790 | /* |
2784 | 2791 | $far = new \DateTime('now',$tz); |
... | ... | @@ -2791,8 +2798,10 @@ class MaterielsControllerTest extends General { |
2791 | 2798 | $d1 => $today->format($format), |
2792 | 2799 | $d2 => $date->format($format) |
2793 | 2800 | ]; |
2801 | + debug($new_data); | |
2794 | 2802 | $i++; debug("- test $i.c"); |
2795 | 2803 | $this->_doActionAndCheckResult($action, $id, TRUE, $new_data); |
2804 | + | |
2796 | 2805 | // - ...mais pas trop loin dans le futur (MAX_DIFF) => KO |
2797 | 2806 | $date = $far->add(new \DateInterval('P1D')); |
2798 | 2807 | //debug($date); |
... | ... | @@ -2800,6 +2809,7 @@ class MaterielsControllerTest extends General { |
2800 | 2809 | $d1 => $today->format($format), |
2801 | 2810 | $d2 => $date->format($format) |
2802 | 2811 | ]; |
2812 | + debug($new_data); | |
2803 | 2813 | $i++; debug("- test $i.d"); |
2804 | 2814 | $this->_doActionAndCheckResult($action, $id, FALSE, $new_data); |
2805 | 2815 | } // foreach $dates | ... | ... |