** NOT PART OF THE BUILD **Restoring parser regression testing

This commit is contained in:
harishd%netscape.com 2002-07-02 21:51:42 +00:00
Родитель ff3df6116b
Коммит 777934d370
8 изменённых файлов: 200 добавлений и 186 удалений

Просмотреть файл

@ -0,0 +1,20 @@
#!/usr/bin/perl
use Cwd;
$curr_dir=`cd`;
open(OUTFILE,">url_list.txt") || die "Can't open url.txt $!";
opendir(D,".");
@files=readdir(D);
$curr_dir=~s/\\/\//g;
chomp($curr_dir);
foreach $file(@files) {
if($file=~m/\.*m/) {
print OUTFILE "$file\n";
}
}

Просмотреть файл

@ -19,19 +19,27 @@
# Contributor(s):
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
DEPTH = ../../..
topsrcdir = y:/mozilla
srcdir = y:/mozilla/htmlparser/tests/logparse
VPATH = y:/mozilla/htmlparser/tests/logparse
include $(DEPTH)/config/autoconf.mk
PROGRAM = logparse
PROGRAM = TestParser.exe
CPPSRCS = logparse.cpp
REQUIRES = \
xpcom \
string \
necko \
htmlparser \
$(NULL)
CPPSRCS = \
TestParser.cpp\
$(NULL)
LIBS = \
-lhtmlpars \
$(XPCOM_LIBS) \
$(NSPR_LIBS) \
$(NULL)

Просмотреть файл

@ -42,90 +42,73 @@
#include "nsIParser.h"
#include "nsILoggingSink.h"
#include "nsIInputStream.h"
#include "prprf.h"
#include <fstream.h>
// Class IID's
static NS_DEFINE_CID(kParserCID, NS_PARSER_CID);
static NS_DEFINE_IID(kLoggingSinkCID, NS_LOGGING_SINK_CID);
// Interface IID's
static NS_DEFINE_IID(kIParserIID, NS_IPARSER_IID);
static NS_DEFINE_IID(kILoggingSinkIID, NS_ILOGGING_SINK_IID);
static NS_DEFINE_CID(kLoggingSinkCID, NS_LOGGING_SINK_CID);
static NS_DEFINE_CID(kNavDTDCID, NS_CNAVDTD_CID);
//----------------------------------------------------------------------
nsresult ParseData(char* anInputStream,char* anOutputStream) {
nsresult result=NS_OK;
NS_ENSURE_ARG_POINTER(anInputStream);
NS_ENSURE_ARG_POINTER(anOutputStream);
nsresult result = NS_OK;
if(anInputStream && anOutputStream) {
PRFileDesc* in=PR_Open(anInputStream, PR_RDONLY, 777);
if (!in) {
return NS_ERROR_FAILURE;
}
// Create a parser
nsCOMPtr<nsIParser> parser(do_CreateInstance(kParserCID, &result));
if (NS_FAILED(result)) {
printf("\nUnable to create a parser\n");
return result;
}
// Create a sink
nsCOMPtr<nsILoggingSink> sink(do_CreateInstance(kLoggingSinkCID, &result));
if (NS_FAILED(result)) {
printf("\nUnable to create a sink\n");
return result;
}
// Create a dtd
nsCOMPtr<nsIDTD> dtd(do_CreateInstance(kNavDTDCID, &result));
if(NS_FAILED(result)) {
printf("Unable to create a dtd\n");
return result;
}
PRFileDesc* in = PR_Open(anInputStream, PR_RDONLY, 777);
if (!in) {
printf("\nUnable to open input file - %s\n", anInputStream);
return result;
}
PRFileDesc* out = PR_Open(anOutputStream, PR_CREATE_FILE|PR_WRONLY, 777);
if (!out) {
printf("\nUnable to open output file - %s\n", anOutputStream);
return result;
}
nsString stream;
char buffer[1024];
PRBool done=PR_FALSE;
PRInt32 length=0;
while(!done) {
length = PR_Read(in, buffer, sizeof(buffer));
if (length>0) {
stream.AppendWithConversion(buffer,length);
}
else {
done=PR_TRUE;
}
}
PR_Close(in);
// Create a parser
nsCOMPtr<nsIParser> parser;
result = nsComponentManager::CreateInstance(kParserCID,nsnull,kIParserIID,getter_AddRefs(parser));
if (NS_SUCCEEDED(result)) {
// Create a sink
nsCOMPtr<nsILoggingSink> sink;
result = nsComponentManager::CreateInstance(kLoggingSinkCID,nsnull,kILoggingSinkIID,getter_AddRefs(sink));
if (NS_SUCCEEDED(result)) {
// Create a dtd
nsCOMPtr<nsIDTD> dtd;
result=nsComponentManager::CreateInstance(kNavDTDCID,nsnull,NS_GET_IID(nsIDTD),getter_AddRefs(dtd));
if(NS_SUCCEEDED(result)) {
// Parse the document, having the sink write the data to fp
PRFileDesc* out;
out = PR_Open(anOutputStream, PR_CREATE_FILE|PR_WRONLY, 777);
//fstream out(anOutputStream,ios::out);
if (!out) {
return NS_ERROR_FAILURE;
}
sink->SetOutputStream(out);
parser->RegisterDTD(dtd);
parser->SetContentSink(sink);
result = parser->Parse(stream, 0, NS_LITERAL_STRING("text/html"), PR_FALSE, PR_TRUE);
PR_Close(out);
}
else {
cout << "Unable to create a dtd (" << result << ")" <<endl;
}
}
else {
cout << "Unable to create a sink (" << result << ")" <<endl;
}
nsString stream;
char buffer[1024] = {0}; // XXX Yikes!
PRBool done = PR_FALSE;
PRInt32 length = 0;
while(!done) {
length = PR_Read(in, buffer, sizeof(buffer));
if (length != 0) {
stream.AppendWithConversion(buffer, length);
}
else {
cout << "Unable to create a parser (" << result << ")" <<endl;
done=PR_TRUE;
}
}
sink->SetOutputStream(out);
parser->RegisterDTD(dtd);
parser->SetContentSink(sink);
result = parser->Parse(stream, 0, NS_LITERAL_CSTRING("text/html"), PR_FALSE, PR_TRUE);
PR_Close(in);
PR_Close(out);
return result;
}
@ -135,7 +118,7 @@ nsresult ParseData(char* anInputStream,char* anOutputStream) {
int main(int argc, char** argv)
{
if (argc < 3) {
cout << "Usage: " << "" << "<inputfile> <outputfile>" << endl;
printf("\nUsage: <inputfile> <outputfile>\n");
return -1;
}

Просмотреть файл

@ -2,26 +2,22 @@
use Cwd;
$path=`pwd`;;
die "\nUsage: perl TestParser.pl [-b|-v] <bin-path> <urllist>
b -> create baseline
v -> verify changes
bin-path -> Ex. drive:/mozilla/dist/bin
filelist -> Run ListGen.pl which will yield url_list.txt\n"
$path=~m/mozilla/;
if(@ARGV < 3 || @ARGV > 3);
$drive=$`;
die "\nUsage: perl TestParser.pl [-b|-v] <filelist>
b -> create baseline
v -> verify changes\n"
if(@ARGV < 2 || @ARGV > 2);
open(FILE_LIST,$ARGV[1]) || die "\nCannot open $ARGV[1]\n";
open(FILE_LIST,$ARGV[2]) || die "\nCannot open $ARGV[2]\n";
if($ARGV[0] eq "-b") {
foreach $input(<FILE_LIST>) {
$input =~s/\n//g;
@output=split(/\./,$input);
print "\n$input\n";
system("$drive\mozilla/dist/WIN32_D.obj/bin/TestParser.exe $input $output[0].b");
system("$ARGV[1]/TestParser.exe $input $output[0].b");
}
}
elsif($ARGV[0] eq "-v") {
@ -29,13 +25,13 @@
$input =~s/\n//g;
@output=split(/\./,$input);
print "\n$input\n";
system("$drive\mozilla/dist/WIN32_D.obj/bin/TestParser.exe $input $output[0].v");
system("fc $output[0].b $output[0].v");
system("$ARGV[1]/TestParser.exe $input $output[0].v");
system("diff -u $output[0].b $output[0].v");
}
}
else {
print "\n\"$ARGV[0]\" unknown....\n";
print "\nUsage: perl TestParser.pl [-b|-v] <filelist>\n\n";
print "\nUsage: perl TestParser.pl [-b|-v] <bin-path> <filelist>\n\n";
}
close(FILE_LIST);

Просмотреть файл

@ -0,0 +1,20 @@
#!/usr/bin/perl
use Cwd;
$curr_dir=`cd`;
open(OUTFILE,">url_list.txt") || die "Can't open url.txt $!";
opendir(D,".");
@files=readdir(D);
$curr_dir=~s/\\/\//g;
chomp($curr_dir);
foreach $file(@files) {
if($file=~m/\.*m/) {
print OUTFILE "$file\n";
}
}

Просмотреть файл

@ -19,19 +19,27 @@
# Contributor(s):
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
DEPTH = ../../..
topsrcdir = y:/mozilla
srcdir = y:/mozilla/htmlparser/tests/logparse
VPATH = y:/mozilla/htmlparser/tests/logparse
include $(DEPTH)/config/autoconf.mk
PROGRAM = logparse
PROGRAM = TestParser.exe
CPPSRCS = logparse.cpp
REQUIRES = \
xpcom \
string \
necko \
htmlparser \
$(NULL)
CPPSRCS = \
TestParser.cpp\
$(NULL)
LIBS = \
-lhtmlpars \
$(XPCOM_LIBS) \
$(NSPR_LIBS) \
$(NULL)

Просмотреть файл

@ -42,90 +42,73 @@
#include "nsIParser.h"
#include "nsILoggingSink.h"
#include "nsIInputStream.h"
#include "prprf.h"
#include <fstream.h>
// Class IID's
static NS_DEFINE_CID(kParserCID, NS_PARSER_CID);
static NS_DEFINE_IID(kLoggingSinkCID, NS_LOGGING_SINK_CID);
// Interface IID's
static NS_DEFINE_IID(kIParserIID, NS_IPARSER_IID);
static NS_DEFINE_IID(kILoggingSinkIID, NS_ILOGGING_SINK_IID);
static NS_DEFINE_CID(kLoggingSinkCID, NS_LOGGING_SINK_CID);
static NS_DEFINE_CID(kNavDTDCID, NS_CNAVDTD_CID);
//----------------------------------------------------------------------
nsresult ParseData(char* anInputStream,char* anOutputStream) {
nsresult result=NS_OK;
NS_ENSURE_ARG_POINTER(anInputStream);
NS_ENSURE_ARG_POINTER(anOutputStream);
nsresult result = NS_OK;
if(anInputStream && anOutputStream) {
PRFileDesc* in=PR_Open(anInputStream, PR_RDONLY, 777);
if (!in) {
return NS_ERROR_FAILURE;
}
// Create a parser
nsCOMPtr<nsIParser> parser(do_CreateInstance(kParserCID, &result));
if (NS_FAILED(result)) {
printf("\nUnable to create a parser\n");
return result;
}
// Create a sink
nsCOMPtr<nsILoggingSink> sink(do_CreateInstance(kLoggingSinkCID, &result));
if (NS_FAILED(result)) {
printf("\nUnable to create a sink\n");
return result;
}
// Create a dtd
nsCOMPtr<nsIDTD> dtd(do_CreateInstance(kNavDTDCID, &result));
if(NS_FAILED(result)) {
printf("Unable to create a dtd\n");
return result;
}
PRFileDesc* in = PR_Open(anInputStream, PR_RDONLY, 777);
if (!in) {
printf("\nUnable to open input file - %s\n", anInputStream);
return result;
}
PRFileDesc* out = PR_Open(anOutputStream, PR_CREATE_FILE|PR_WRONLY, 777);
if (!out) {
printf("\nUnable to open output file - %s\n", anOutputStream);
return result;
}
nsString stream;
char buffer[1024];
PRBool done=PR_FALSE;
PRInt32 length=0;
while(!done) {
length = PR_Read(in, buffer, sizeof(buffer));
if (length>0) {
stream.AppendWithConversion(buffer,length);
}
else {
done=PR_TRUE;
}
}
PR_Close(in);
// Create a parser
nsCOMPtr<nsIParser> parser;
result = nsComponentManager::CreateInstance(kParserCID,nsnull,kIParserIID,getter_AddRefs(parser));
if (NS_SUCCEEDED(result)) {
// Create a sink
nsCOMPtr<nsILoggingSink> sink;
result = nsComponentManager::CreateInstance(kLoggingSinkCID,nsnull,kILoggingSinkIID,getter_AddRefs(sink));
if (NS_SUCCEEDED(result)) {
// Create a dtd
nsCOMPtr<nsIDTD> dtd;
result=nsComponentManager::CreateInstance(kNavDTDCID,nsnull,NS_GET_IID(nsIDTD),getter_AddRefs(dtd));
if(NS_SUCCEEDED(result)) {
// Parse the document, having the sink write the data to fp
PRFileDesc* out;
out = PR_Open(anOutputStream, PR_CREATE_FILE|PR_WRONLY, 777);
//fstream out(anOutputStream,ios::out);
if (!out) {
return NS_ERROR_FAILURE;
}
sink->SetOutputStream(out);
parser->RegisterDTD(dtd);
parser->SetContentSink(sink);
result = parser->Parse(stream, 0, NS_LITERAL_STRING("text/html"), PR_FALSE, PR_TRUE);
PR_Close(out);
}
else {
cout << "Unable to create a dtd (" << result << ")" <<endl;
}
}
else {
cout << "Unable to create a sink (" << result << ")" <<endl;
}
nsString stream;
char buffer[1024] = {0}; // XXX Yikes!
PRBool done = PR_FALSE;
PRInt32 length = 0;
while(!done) {
length = PR_Read(in, buffer, sizeof(buffer));
if (length != 0) {
stream.AppendWithConversion(buffer, length);
}
else {
cout << "Unable to create a parser (" << result << ")" <<endl;
done=PR_TRUE;
}
}
sink->SetOutputStream(out);
parser->RegisterDTD(dtd);
parser->SetContentSink(sink);
result = parser->Parse(stream, 0, NS_LITERAL_CSTRING("text/html"), PR_FALSE, PR_TRUE);
PR_Close(in);
PR_Close(out);
return result;
}
@ -135,7 +118,7 @@ nsresult ParseData(char* anInputStream,char* anOutputStream) {
int main(int argc, char** argv)
{
if (argc < 3) {
cout << "Usage: " << "" << "<inputfile> <outputfile>" << endl;
printf("\nUsage: <inputfile> <outputfile>\n");
return -1;
}

Просмотреть файл

@ -2,26 +2,22 @@
use Cwd;
$path=`pwd`;;
die "\nUsage: perl TestParser.pl [-b|-v] <bin-path> <urllist>
b -> create baseline
v -> verify changes
bin-path -> Ex. drive:/mozilla/dist/bin
filelist -> Run ListGen.pl which will yield url_list.txt\n"
$path=~m/mozilla/;
if(@ARGV < 3 || @ARGV > 3);
$drive=$`;
die "\nUsage: perl TestParser.pl [-b|-v] <filelist>
b -> create baseline
v -> verify changes\n"
if(@ARGV < 2 || @ARGV > 2);
open(FILE_LIST,$ARGV[1]) || die "\nCannot open $ARGV[1]\n";
open(FILE_LIST,$ARGV[2]) || die "\nCannot open $ARGV[2]\n";
if($ARGV[0] eq "-b") {
foreach $input(<FILE_LIST>) {
$input =~s/\n//g;
@output=split(/\./,$input);
print "\n$input\n";
system("$drive\mozilla/dist/WIN32_D.obj/bin/TestParser.exe $input $output[0].b");
system("$ARGV[1]/TestParser.exe $input $output[0].b");
}
}
elsif($ARGV[0] eq "-v") {
@ -29,13 +25,13 @@
$input =~s/\n//g;
@output=split(/\./,$input);
print "\n$input\n";
system("$drive\mozilla/dist/WIN32_D.obj/bin/TestParser.exe $input $output[0].v");
system("fc $output[0].b $output[0].v");
system("$ARGV[1]/TestParser.exe $input $output[0].v");
system("diff -u $output[0].b $output[0].v");
}
}
else {
print "\n\"$ARGV[0]\" unknown....\n";
print "\nUsage: perl TestParser.pl [-b|-v] <filelist>\n\n";
print "\nUsage: perl TestParser.pl [-b|-v] <bin-path> <filelist>\n\n";
}
close(FILE_LIST);