blob: 91338fa4f259a88c8be219d8d43294995fba21cb [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
package org.openoffice.test.common;
import java.io.File;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Ignore;
import org.junit.runner.Description;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import org.junit.runner.notification.RunListener;
public class CSVReporter extends RunListener {
private File reportDir = Testspace.getFile("output/result");
private File file = null;
private String testClassName = null;
private long suiteStart = 0;
private long failures = 0;
private long errors = 0;
private long tests = 0;
private long ignored = 0;
private long testStart = 0;
@Override
public void testStarted(Description description) throws Exception {
System.out.println("testStarted");
if (!description.getClassName().equals(testClassName)) {
finishSuite();
startSuite(description);
}
}
@Override
public void testAssumptionFailure(Failure failure) {
}
@Override
public void testFailure(Failure failure) throws Exception {
System.out.println("testFailure");
if (failure.getException() instanceof AssertionError) {
failures++;
} else {
errors++;
}
}
@Override
public void testFinished(Description description) throws Exception {
System.out.println("testFinished");
tests++;
}
@Override
public void testIgnored(Description description) throws Exception {
testStarted(description);
System.out.println("testIgnored");
ignored++;
Ignore ignore = description.getAnnotation(Ignore.class);
testFinished(description);
}
@Override
public void testRunFinished(Result result) throws Exception {
System.out.println("testRunFinished");
finishSuite();
}
@Override
public void testRunStarted(Description description) throws Exception {
System.out.println("testRunStarted");
}
private void startSuite(Description description) {
testClassName = description.getClassName();
suiteStart = System.currentTimeMillis();
failures = 0;
errors = 0;
tests = 0;
ignored = 0;
file = new File(reportDir, testClassName + ".csv");
}
private void finishSuite() {
if (testClassName == null)
return;
Set<Entry<Object, Object>> entries = System.getProperties().entrySet();
for (Entry<Object, Object> e : entries) {
// Element prop = doc.createElement("property");
// prop.setAttribute("name", "" + e.getKey());
// prop.setAttribute("value", "" + e.getValue());
// props.appendChild(prop);
}
store();
}
private void store() {
}
}