From: Philippe E. <ph...@us...> - 2007-12-03 11:25:58
|
Update of /cvsroot/oprofile/oprofile/libregex/tests In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28572/libregex/tests Modified Files: Tag: JIT_SUPPORT Makefile.am Added Files: Tag: JIT_SUPPORT java_test.cpp Log Message: add a java symbol demangler --- NEW FILE: java_test.cpp --- /** * @file java_test.cpp * * A simple test for java demangling. Run it through: * $ java_test * * @remark Copyright 2007 OProfile authors * @remark Read the file COPYING * * @author Philippe Elie */ #include "demangle_java_symbol.h" #include "op_regex.h" #include <iostream> #include <fstream> using namespace std; namespace { void check_result(string const & input, string const & output, string const & result) { if (result != output) { cerr << "for:\n\"" << input << "\"\n" << "expect:\n\"" << output << "\"\n" << "found:\n\"" << result << "\"\n"; exit(EXIT_FAILURE); } } struct input_output { char const * mangled; char const * expect; }; input_output mangle_tests[] = { { "Ltest$test_1;f2(I)V", "void test$test_1.f2(int)" }, { "Ltest;f4()V", "void test.f4()" }, { "Ltest;f2(II)V", "void test.f2(int, int)" }, { "Ltest$HelloThread;run()V~1", "void test$HelloThread.run()~1" }, { "Lsun/security/provider/SHA;implCompress([BI)V", "void sun.security.provider.SHA.implCompress(byte[], int)" }, { "Ljava/lang/String;equals(Ljava/lang/Object;)Z", "boolean java.lang.String.equals(java.lang.Object)" }, { "Lorg/eclipse/swt/graphics/ImageData;blit(I[BIIIIIIIIIII[BIII[BIIIIIIIIIIZZ)V", "void org.eclipse.swt.graphics.ImageData.blit(int, byte[], int, int, int, int, int, int, int, int, int, int, int, byte[], int, int, int, byte[], int, int, int, int, int, int, int, int, int, int, boolean, boolean)" }, { 0, 0 } }; } // anonymous namespace int main(void) { input_output const * cur; for (cur = mangle_tests; cur->mangled; ++cur) { string result = demangle_java_symbol(cur->mangled); check_result(cur->mangled, cur->expect, result); } return 0; } Index: Makefile.am =================================================================== RCS file: /cvsroot/oprofile/oprofile/libregex/tests/Makefile.am,v retrieving revision 1.6 retrieving revision 1.6.6.1 diff -u -p -d -r1.6 -r1.6.6.1 --- Makefile.am 16 Dec 2003 22:07:22 -0000 1.6 +++ Makefile.am 3 Dec 2007 11:25:58 -0000 1.6.6.1 @@ -4,13 +4,18 @@ AM_CPPFLAGS = \ AM_CXXFLAGS = @OP_CXXFLAGS@ -check_PROGRAMS = regex_test +check_PROGRAMS = regex_test java_test regex_test_SOURCES = regex_test.cpp regex_test_LDADD = \ ../libop_regex.a \ ../../libutil++/libutil++.a +java_test_SOURCES = java_test.cpp +java_test_LDADD = \ + ../libop_regex.a \ + ../../libutil++/libutil++.a + EXTRA_DIST = mangled-name.in TESTS = ${check_PROGRAMS} |