14#include "arcane/utils/ITraceMng.h"
15#include "arcane/utils/FatalErrorException.h"
16#include "arcane/utils/PlatformUtils.h"
17#include "arcane/utils/StringBuilder.h"
18#include "arcane/utils/ValueConvert.h"
20#include "arcane/core/IParallelMng.h"
21#include "arcane/core/VariableCollection.h"
22#include "arcane/core/IVariableUtilities.h"
23#include "arcane/core/VerifierService.h"
24#include "arcane/core/ItemGroup.h"
25#include "arcane/core/IVariableMng.h"
26#include "arcane/core/IVariable.h"
27#include "arcane/core/ISubDomain.h"
29#include "arcane/core/IData.h"
30#include "arcane/core/internal/IVariableInternal.h"
32#include "arcane/std/internal/BasicReader.h"
33#include "arcane/std/internal/BasicWriter.h"
40using namespace Arcane::impl;
62 return var->itemGroup();
85 void _setFormatVersion(Int32 v)
87 m_wanted_format_version = v;
93 Int32 m_wanted_format_version = 1;
97 void _computeFullFileName(
bool is_read)
107 m_full_file_name = s;
116void ArcaneBasicVerifierService::
122 auto open_mode = BasicReaderWriterCommon::OpenModeTruncate;
126 Int32 version = m_wanted_format_version;
131 verif->setSaveValues(
false);
155 _computeFullFileName(
false);
157 platform::recursiveCreateDirectory(m_full_file_name);
158 _writeReferenceFile(m_full_file_name);
171 _computeFullFileName(
true);
174 reader->initialize();
191 tm->
info() <<
"Checking (" << m_full_file_name <<
")";
214void ArcaneBasicVerifierService::
222 info() <<
"Check Verif Hash";
232 info() <<
"DoVerifHash";
311 _setFormatVersion(3);
314 info() <<
"ArcaneBasicVerifierServiceV3: using hash?=" <<
use_hash;
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Ce fichier contient les différentes fabriques de services et macro pour enregistrer les services.
#define ARCANE_SERVICE_INTERFACE(ainterface)
Macro pour déclarer une interface lors de l'enregistrement d'un service.
void build() override
Construction de niveau build du service.
void doVerifFromReferenceFile(bool parallel_sequential, bool compare_ghost) override
Effectue la vérification à partir du fichier référence.
void writeReferenceFile() override
Ecrit le fichier référence.
Interface d'un algorithme de hashage.
Interface du gestionnaire de parallélisme pour un sous-domaine.
virtual bool isMasterIO() const =0
true si l'instance est un gestionnaire maître des entrées/sorties.
virtual bool isParallel() const =0
Retourne true si l'exécution est parallèle.
Interface du gestionnaire d'un sous-domaine.
virtual IVariableMng * variableMng()=0
Retourne le gestionnaire de variables.
Interface du gestionnaire de variables.
virtual IVariable * findVariableFullyQualified(const String &name)=0
Retourne la variable de nom complet name ou 0 si aucune de se nom existe.
Interface d'une variable.
Interface du service de vérification des données entre deux exécutions.
@ Values
Compare toutes les valeurs.
@ HashOnly
Compare uniquement les hash des valeurs.
Groupe d'entités de maillage.
bool null() const
true is le groupe est le groupe nul
Lecteur des fichiers de maillage via la bibliothèque LIMA.
liste de 'ParallelDataWriter'.
Structure contenant les informations pour créer un service.
Propriétés de création d'un service.
Classe de base du service de vérification des données entre deux exécutions.
String fileName() const override
Nom du fichier contenant les valeurs de référence.
virtual void _getVariables(VariableList variables, bool parallel_sequential)
Remplit dans variables la liste des variables devant être relues.
void setCompareMode(eCompareMode v) override
Type de comparaison souhaité
String subDir() const override
Nom du fichier contenant les valeurs de référence.
Interface pour retrouver le groupe associée à une variable à partir de ces meta-données.
Interface du gestionnaire de traces.
Constructeur de chaîne de caractère unicode.
Chaîne de caractères unicode.
ITraceMng * traceMng() const
Gestionnaire de trace.
TraceMessage info() const
Flot pour un message d'information.
#define ARCANE_REGISTER_SERVICE(aclass, a_service_property,...)
Macro pour enregistrer un service.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
@ ST_SubDomain
Le service s'utilise au niveau du sous-domaine.