package hudson.plugins.utplsql;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.jvnet.hudson.test.HudsonTestCase;
import org.jvnet.hudson.test.TestBuilder;
import hudson.Launcher;
import hudson.model.AbstractBuild;
import hudson.model.BuildListener;
import hudson.model.FreeStyleBuild;
import hudson.model.FreeStyleProject;
import hudson.model.Result;
import hudson.tasks.test.AbstractTestResultAction;
public class UtplsqlTestResultParserTest extends HudsonTestCase
{
public void testOneFileOnePackage() throws Exception
{
final InputStream input = this.getClass().getResourceAsStream("OneFileOnePackage.log");
FreeStyleProject project = createFreeStyleProject();
project.getBuildersList().add(new TestBuilder() {
public boolean perform(AbstractBuild<?, ?> build, Launcher launcher,
BuildListener listener) throws InterruptedException, IOException {
OutputStream output = build.getWorkspace().child("result.txt").write();
int b;
do
{
b = input.read();
if (b == -1)
{
break;
}
output.write(b);
} while (true);
return true;
}
});
UtplsqlRecorder recorder = new UtplsqlRecorder("*.txt");
project.getPublishersList().add(recorder);
FreeStyleBuild build = project.scheduleBuild2(0).get();
assertBuildStatus(Result.UNSTABLE, build);
AbstractTestResultAction action = build.getAction(AbstractTestResultAction.class);
assertEquals(1, action.getTotalCount());
assertEquals(1, action.getFailCount());
}
}