Esempio n. 1
0
 private void recordTestTime(Test test) {
   if (!mTimeAlreadyWritten) {
     mTimeAlreadyWritten = true;
     TestKeeper testKeeper = getTestKeeper(test);
     testKeeper.setEndTime(System.currentTimeMillis());
     addToSuite(test, testKeeper);
   }
 }
Esempio n. 2
0
 private void addProblem(Test test, String tag, Throwable error) {
   recordTestTime(test);
   TestKeeper testKeeper = getTestKeeper(test);
   testKeeper.setError(error);
   testKeeper.setTag(tag);
   if (TAG_ERROR.contentEquals(tag)) {
     testKeeper.setStatus("SKIP");
   } else {
     testKeeper.setStatus("FAIL");
   }
   addToSuite(test, testKeeper);
   updateSuiteDetails(test, tag);
 }
Esempio n. 3
0
 @Override
 public void startTest(Test test) {
   if (test instanceof TestCase) {
     total++;
     TestCase testCase = (TestCase) test;
     TestKeeper testKeeper = new TestKeeper();
     String testName = getTestName(test);
     testKeeper.setTestname(testName);
     mTimeAlreadyWritten = false;
     mTestStartTime = System.currentTimeMillis();
     testKeeper.setStartTime(mTestStartTime);
     currentSuite.setStartTime(System.currentTimeMillis());
     testKeeper.setTest(testCase);
     checkSuiteDetails(test);
     addToSuite(test, testKeeper);
   }
 }
Esempio n. 4
0
 private TestKeeper getTestKeeper(Test test) {
   TestCase testcase = (TestCase) test;
   String suiteName = testcase.getClass().getName();
   HashMap<String, TestKeeper> suiteTests;
   if (suiteMap.containsKey(suiteName)) {
     suiteTests = suiteMap.get(suiteName);
     if (suiteTests.containsKey(getTestName(test))) {
       return suiteTests.get(getTestName(test));
     }
   }
   TestKeeper testKeeper = new TestKeeper();
   String testName = getTestName(test);
   testKeeper.setTestname(testName);
   mTestStartTime = System.currentTimeMillis();
   testKeeper.setStartTime(mTestStartTime);
   testKeeper.setTest(testcase);
   return testKeeper;
 }
Esempio n. 5
0
 private void addToSuite(Test test, TestKeeper testKeeper) {
   TestCase testcase = (TestCase) test;
   String suiteName = testcase.getClass().getName();
   HashMap<String, TestKeeper> suiteTests;
   if (suiteMap.containsKey(suiteName)) {
     suiteTests = suiteMap.get(suiteName);
   } else {
     suiteTests = new HashMap<String, TestKeeper>();
   }
   if (suiteDetails.containsKey(suiteName)) {
     SuiteKeeper sKeeper = suiteDetails.get(suiteName);
     currentSuite.setEndTime(sKeeper.getEndTime());
     sKeeper.setEndTime(testKeeper.getEndTime());
     suiteDetails.put(suiteName, sKeeper);
   }
   suiteTests.put(getTestName(test), testKeeper);
   suiteMap.put(suiteName, suiteTests);
 }
Esempio n. 6
0
  public void close() {
    Iterator<String> suiteIterator = suiteMap.keySet().iterator();
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)
        && !Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
      File f = mContext.getExternalFilesDir("testng");
      if (f.exists()) {
        deleteDir(f);
        f.mkdirs();
      }
    }
    try {
      openIfRequired();

      addAttribute(ATTRIBUTE_SKIPPED, String.valueOf(errorCount));
      addAttribute(ATTRIBUTE_FAILED, String.valueOf(failureCount));
      addAttribute(ATTRIBUTE_TOTAL, String.valueOf(total));
      addAttribute(ATTRIBUTE_PASSED, String.valueOf(total - errorCount - failureCount));
      mSerializer.startTag("", "reporter-output");
      mSerializer.endTag("", "reporter-output");
      mSerializer.startTag("", TAG_SUITE);
      addAttribute(ATTRIBUTE_NAME, "Bot-bot suite");
      String suiteTime =
          String.format(
              Locale.ENGLISH,
              "%.3f",
              (currentSuite.getEndTime() - currentSuite.getStartTime()) / 1000.);
      addAttribute(ATTRIBUTE_TIME, suiteTime);
      addAttribute(ATTRIBUTE_START_TIME, getTestngFormattedDate(currentSuite.getStartTime()));
      addAttribute(ATTRIBUTE_FINISHED_AT, getTestngFormattedDate(currentSuite.getEndTime()));
      mSerializer.startTag("", TAG_GROUPS);
      mSerializer.endTag("", TAG_GROUPS);
      mSerializer.startTag("", TAG_TEST);
      addAttribute(ATTRIBUTE_NAME, "Bot-bot suite");
      addAttribute(ATTRIBUTE_TIME, suiteTime);
      addAttribute(ATTRIBUTE_START_TIME, getTestngFormattedDate(currentSuite.getStartTime()));
      addAttribute(ATTRIBUTE_FINISHED_AT, getTestngFormattedDate(currentSuite.getEndTime()));
      while (suiteIterator.hasNext()) {
        String suiteName = suiteIterator.next();
        HashMap<String, TestKeeper> suiteTests = suiteMap.get(suiteName);
        mSerializer.startTag("", TAG_CLASS);
        addAttribute(ATTRIBUTE_NAME, suiteName);
        Iterator<String> testIterator = suiteTests.keySet().iterator();
        while (testIterator.hasNext()) {
          String testName = testIterator.next();
          TestKeeper testKeeper = suiteTests.get(testName);
          mSerializer.startTag("", TAG_CASE);
          addAttribute(ATTRIBUTE_STATUS, testKeeper.getStatus());
          addAttribute(ATTRIBUTE_SIGNATURE, testName);
          addAttribute(ATTRIBUTE_NAME, testName);
          String timeTaken =
              String.format(
                  Locale.ENGLISH,
                  "%.3f",
                  (testKeeper.getEndTime() - testKeeper.getStartTime()) / 1000.);
          addAttribute(ATTRIBUTE_TIME, timeTaken);
          addAttribute(ATTRIBUTE_START_TIME, getTestngFormattedDate(testKeeper.getStartTime()));
          addAttribute(ATTRIBUTE_FINISHED_AT, getTestngFormattedDate(testKeeper.getEndTime()));
          if (testKeeper.isFailed()) {
            Throwable error = testKeeper.getError();

            mSerializer.startTag("", TAG_EXCEPTION);
            addAttribute(ATTRIBUTE_CLASS, error.getClass().getName());
            mSerializer.startTag("", TAG_MESSAGE);
            mSerializer.text(safeMessage(error));
            mSerializer.endTag("", TAG_MESSAGE);
            mSerializer.startTag("", "full-stacktrace");
            StringWriter w = new StringWriter();
            error.printStackTrace(mFilterTraces ? new FilteringWriterTest(w) : new PrintWriter(w));
            mSerializer.text(w.toString());
            mSerializer.endTag("", "full-stacktrace");
            mSerializer.endTag("", TAG_EXCEPTION);
          }
          mSerializer.endTag("", TAG_CASE);
        }
        mSerializer.endTag("", TAG_CLASS);
      }
      mSerializer.endTag("", TAG_TEST);
      mSerializer.endTag("", TAG_SUITE);
      mSerializer.endTag("", TAG_SUITES);
    } catch (IOException e) {
      Log.e(LOG_TAG, safeMessage(e));
    }

    closeSuite();
  }