예제 #1
0
        public void ExecInstructionsOnDesktop()
        {
            TestState ts = TestState.getOnly("LT");
            int       count;

            for (count = 1; count == 10; count++)
            {
                AddInstructionToDesktop();
            }
            m_dsk.Execute();
            // what is there to test?
        }
예제 #2
0
        /// <summary>
        /// Gets the name of a test script and runs it.
        /// There must be a corresponding XML script file in the
        /// location specified in the GtdConfig.xml file.
        /// </summary>
        /// <param name="script">The name of the test script (.xml not needed).</param>
        public void fromFile(string script)
        {
            if (!(script.ToLower()).EndsWith(@".xml"))
            {
                script += ".xml";
            }
            TestState ts = null;

            if (varsDefined)
            {
                ts = TestState.getOnly();
                // Re-open the log using the script name - lose what's there.
                Logger.getOnly().close();
                // The next call to Logger.getOnly() will create one with using the script name.
            }
            else
            {
                ts = TestState.getOnly(m_appSymbol); // Allocating ts here insures deallocation
            }
            ts.Script = script;                      // must come before ts.PublishVars();
            ts.PublishVars();

            // get the script path from the configuration file
            string     path       = ts.getScriptPath() + @"\" + script;
            XmlElement scriptRoot = XmlFiler.getDocumentElement(path, "accil", false);

            Assert.IsNotNull(scriptRoot, "Missing document element 'accil'.");
            Desktop dt = new Desktop();

            Assert.IsNotNull(dt, "Desktop not created for script " + path);
            dt.Element = scriptRoot;             // not quite code-behind, but OK
            dt.Number  = ts.IncInstructionCount;
            //dt = new XmlInstructionBuilder().Parse(path);

            // now execute any variables if they've been added before executing the desktop
            foreach (Var v in m_vars)
            {
                v.Execute();
            }

            System.GC.Collect();             // forces collection on NUnit process only

            dt.Execute();
            varsDefined = false;             // the next test may not have any
            Logger.getOnly().close();
            Thread.Sleep(1000);
        }
예제 #3
0
		/// <summary>
		/// Gets the name of a test script and runs it.
		/// There must be a corresponding XML script file in the
		/// location specified in the GtdConfig.xml file.
		/// </summary>
		/// <param name="script">The name of the test script (.xml not needed).</param>
		public void fromFile(string script)
		{
			if(!(script.ToLower()).EndsWith(@".xml"))
				script += ".xml";
			TestState ts = null;
			if (varsDefined)
			{
				ts = TestState.getOnly();
				// Re-open the log using the script name - lose what's there.
				Logger.getOnly().close();
				// The next call to Logger.getOnly() will create one with using the script name.
			}
			else ts = TestState.getOnly(m_appSymbol); // Allocating ts here insures deallocation
			ts.Script = script; // must come before ts.PublishVars();
			ts.PublishVars();

			// get the script path from the configuration file
			string path = ts.getScriptPath() + @"\" + script;
			XmlElement scriptRoot = XmlFiler.getDocumentElement(path, "accil", false);
			Assert.IsNotNull(scriptRoot, "Missing document element 'accil'.");
			Desktop dt = new Desktop();
			Assert.IsNotNull(dt, "Desktop not created for script " + path);
			dt.Element = scriptRoot; // not quite code-behind, but OK
			dt.Number = ts.IncInstructionCount;
			//dt = new XmlInstructionBuilder().Parse(path);

			// now execute any variables if they've been added before executing the desktop
			foreach (Var v in m_vars)
			{
				v.Execute();
			}

			System.GC.Collect(); // forces collection on NUnit process only

			dt.Execute();
			varsDefined = false; // the next test may not have any
			Logger.getOnly().close();
			Thread.Sleep(1000);
		}