Esempio n. 1
0
        public int ExecuteExporte(string[] args, out String Message)
        {
            JCAVariable mesArgs = new JCAssertionCore.JCAVariable();
            JCAVariable mesVariables = new JCAssertionCore.JCAVariable();
            JCAConsole maConsole = new JCAssertionCore.JCAConsole ();
            String Usage = "usage :" + Environment.NewLine + Environment.NewLine + "JCAExporte /F:fichier /V1:cle=valeur /v2=cle2=valeur2 ...";
            String Cle;
            String Valeur;

            Message = "";

            if (args.Count() < 2)
            {
                Message = "Pas assez d'arguments. " + Environment.NewLine + Usage ;
                return 99;
            }

            mesArgs = maConsole.Arguments(args);

            if ((mesArgs.GetValeurVariable("F") == null) || (mesArgs.GetValeurVariable("F") == ""))
                {
                    Message = "L'argument /F (Chemin du fichier de sortie n'a pas été spécfié.)" + Environment.NewLine + Usage;
                    return 99;
                }

            // Traitemen OK
            String NomFichier = mesArgs.GetValeurVariable("F");
            if (System.IO.File.Exists (NomFichier)) mesVariables.LireFichier(NomFichier );
            // Ajouter ou maj les variables

            foreach (var monParem in mesArgs.Variables )
                {

                    if ((monParem.Key.Length > 0 ) && (monParem.Key.Substring(0,1).ToUpper()   == "V"))
                    {
                        Cle = mesArgs.ExtrairePaire(monParem.Value, out  Valeur);
                        mesVariables.MAJVariable (Cle ,Valeur );

                    }
                }

            // metre les variables par défaut
            mesVariables.MAJVariable(JCAVariable.Constantes.JCA_FichierDeVariables   ,
                NomFichier);

            //Sauvegarder
            mesVariables.EcrireFichier(NomFichier);
            Message = Environment.NewLine +  "Fichier : " + NomFichier + " mis à jour.";

            return 0;
        }
Esempio n. 2
0
        // l'appel aux constructeurs complexes a été mis
        // ici pour pouvoir faire un try catch
        // Boolean Debug = true;
        public void InitJCAssertion()
        {
            if (! Init)
              {
            try {
                Utilitaire = new JCAUtilitaires();
                Init = true ;
                mesArguments = new JCAssertionCore.JCAVariable();
                maConsole = new JCAssertionCore.JCAConsole();
                monJCACore = new JCACore();

                }
            catch (Exception excep)
                {
                    ExceptionGlobale = excep ;
                    ExceptionRencontree = true;
                    CodeDeRetour = 99;
                    throw excep;
                }
              } // ! init
        }
Esempio n. 3
0
        public static bool JCAExecuteProgramme(XmlNode monXMLNode, 
            ref string Message, ref  Dictionary<String, String> Variables,
            ref string MessageEchec)
        {
            JCAConsole maConsole = new JCAConsole();
            String Sortie = "";
            MessageEchec = "";
            Message = Message + Environment.NewLine + "Assertion ExecuteProgramme";
            if (monXMLNode == null)
                throw new JCAssertionException("Le XML est vide.");

            // Valider le fichier de modèle

            ValideBalise(monXMLNode, "Programme");
            String Programme = ValeurBalise(monXMLNode, "Programme");
            Programme = JCAVariable.SubstituerVariables(Programme , Variables);

            String Arguments = ValeurBalise(monXMLNode, "Arguments");
            Arguments = JCAVariable.SubstituerVariables(Arguments , Variables);

            Boolean Resultat = (maConsole.ExecuteProgramme(Programme,
                Arguments, ref Sortie) == 0);

            Message = Message + Environment.NewLine +
                "Résultat de l'exécution de " + Programme +
                Environment.NewLine + Sortie +
                Environment.NewLine + "Fin des résultats de " + Programme ;
            if (Resultat)
                Message = Message + Environment.NewLine +
                    "L'assertion est vraie";
            else
                {
                // echec
                Message = Message +
                Environment.NewLine +
                "L'assertion est fausse";
                // messageechec
                if (ValeurBalise (monXMLNode, "MessageEchec") != "")
                        MessageEchec = ValeurBalise (monXMLNode, "MessageEchec")
                            + " (Code de retour : " +
                            maConsole.DernierCodeDeRetour.ToString() +
                             " )";
                    else
                        MessageEchec =
                            "Le programme " + Programme  +
                            " a terminé avec le code de retour " +
                            maConsole.DernierCodeDeRetour.ToString();
                }

            return Resultat;
        }