From 26d2cae86428579cd738d21208b7bbab2a9c90ce Mon Sep 17 00:00:00 2001 From: cxl Date: Sun, 21 Jun 2015 11:50:06 +0000 Subject: [PATCH] .autotest git-svn-id: svn://ultimatepp.org/upp/trunk@8575 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- autotest/CppParser/CppParser.cpp | 24 ++++++++++++++++++------ autotest/CppParser/test13.out | 8 ++++---- autotest/CppParser/test14.out | 4 ++-- autotest/CppParser/test23.out | 4 ++-- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/autotest/CppParser/CppParser.cpp b/autotest/CppParser/CppParser.cpp index eb65e2191..ce02e8e81 100644 --- a/autotest/CppParser/CppParser.cpp +++ b/autotest/CppParser/CppParser.cpp @@ -9,6 +9,19 @@ void AddError(int ln, const String& s) errs.Add(AsString(ln) + ": " + s); } +void CleanAnonymous(String& s) +{ + for(;;) { + int q = s.Find('@'); + if(q < 0) + return; + int qq = s.Find("/title", q); + if(qq < 0) + return; + s.Remove(q, qq - q - 1); + } +} + void Test(const char *path) { CppBase base; @@ -61,6 +74,7 @@ void Test(const char *path) out << ", line: " << p.local[i].line << "\n"; } out << "}"; + CleanAnonymous(out); LOG("===="); LOG(out); LOG("-------------------------------------------------------------------------------"); @@ -76,12 +90,10 @@ void Test(const char *path) CONSOLE_APP_MAIN { StdLogSetup(LOG_COUT|LOG_FILE); - SeedRandom(0); - - FindFile ff(GetDataFile("*.in")); - while(ff) { - Test(ff.GetPath()); - ff.Next(); + for(int i = 0; i < 10000; i++) { + String p = GetDataFile("test" + AsString(i) + ".in"); + if(FileExists(p)) + Test(p); } LOG("=========== OK"); } diff --git a/autotest/CppParser/test13.out b/autotest/CppParser/test13.out index 69e9f6ed5..eb8771c27 100644 --- a/autotest/CppParser/test13.out +++ b/autotest/CppParser/test13.out @@ -7,8 +7,8 @@ _LARGE_INTEGER { INSTANCEVARIABLE, name: u, qitem: u, qtype: .u, qptype: , natural: struct { DWORD LowPart; LONG HighPart; } u, line 10, using INSTANCEVARIABLE, name: QuadPart, qitem: QuadPart, qtype: LONGLONG, qptype: , natural: LONGLONG QuadPart, line 13, using } -_LARGE_INTEGER::@rAp/jC+qxJd1pha3wMwh2A==/title { - STRUCT, name: @rAp/jC+qxJd1pha3wMwh2A==/title, qitem: struct, qtype: @rAp/jC+qxJd1pha3wMwh2A==/title, qptype: , natural: struct @rAp/jC+qxJd1pha3wMwh2A==/title, line 4, using +_LARGE_INTEGER::=/title { + STRUCT, name: =/title, qitem: struct, qtype: =/title, qptype: , natural: struct =/title, line 4, using INSTANCEVARIABLE, name: LowPart, qitem: LowPart, qtype: DWORD, qptype: , natural: DWORD LowPart, line 5, using INSTANCEVARIABLE, name: HighPart, qitem: HighPart, qtype: LONG, qptype: , natural: LONG HighPart, line 6, using } @@ -29,8 +29,8 @@ _ULARGE_INTEGER { INSTANCEVARIABLE, name: u, qitem: u, qtype: .u, qptype: , natural: struct { DWORD LowPart; DWORD HighPart; } u, line 28, using INSTANCEVARIABLE, name: QuadPart, qitem: QuadPart, qtype: ULONGLONG, qptype: , natural: ULONGLONG QuadPart, line 31, using } -_ULARGE_INTEGER::@Q7NOmvtSotvDdn2LZ33l2A==/title { - STRUCT, name: @Q7NOmvtSotvDdn2LZ33l2A==/title, qitem: struct, qtype: @Q7NOmvtSotvDdn2LZ33l2A==/title, qptype: , natural: struct @Q7NOmvtSotvDdn2LZ33l2A==/title, line 22, using +_ULARGE_INTEGER::=/title { + STRUCT, name: =/title, qitem: struct, qtype: =/title, qptype: , natural: struct =/title, line 22, using INSTANCEVARIABLE, name: LowPart, qitem: LowPart, qtype: DWORD, qptype: , natural: DWORD LowPart, line 23, using INSTANCEVARIABLE, name: HighPart, qitem: HighPart, qtype: DWORD, qptype: , natural: DWORD HighPart, line 24, using } diff --git a/autotest/CppParser/test14.out b/autotest/CppParser/test14.out index 568312b91..90a53bef9 100644 --- a/autotest/CppParser/test14.out +++ b/autotest/CppParser/test14.out @@ -8,8 +8,8 @@ STRUCT, name: Foo, qitem: struct, qtype: .name::Foo, qptype: , natural: struct Foo, line 3, using INSTANCEVARIABLE, name: a, qitem: a, qtype: , qptype: , natural: int a, line 4, using } -.name::@WJqy9ozNzEU6OSliwUJIeg==/title { - STRUCT, name: @WJqy9ozNzEU6OSliwUJIeg==/title, qitem: struct, qtype: @WJqy9ozNzEU6OSliwUJIeg==/title, qptype: , natural: struct @WJqy9ozNzEU6OSliwUJIeg==/title, line 6, using +.name::=/title { + STRUCT, name: =/title, qitem: struct, qtype: =/title, qptype: , natural: struct =/title, line 6, using INSTANCEVARIABLE, name: bar, qitem: bar, qtype: , qptype: , natural: int bar, line 7, using } .name::.quack { diff --git a/autotest/CppParser/test23.out b/autotest/CppParser/test23.out index 29d3bb1a7..2aefbb613 100644 --- a/autotest/CppParser/test23.out +++ b/autotest/CppParser/test23.out @@ -61,8 +61,8 @@ TreeNodeInfo::Extended { INSTANCEVARIABLE, name: erotica, qitem: erotica, qtype: , qptype: , natural: bool erotica, line 24, using CONSTRUCTOR, name: Extended, qitem: Extended(), qtype: , qptype: , natural: Extended(), line 26, using } -TreeNodeInfo::@WF5rkVGLjWSl5vPsGUIJ1g==/title { - STRUCT, name: @WF5rkVGLjWSl5vPsGUIJ1g==/title, qitem: union, qtype: @WF5rkVGLjWSl5vPsGUIJ1g==/title, qptype: , natural: union @WF5rkVGLjWSl5vPsGUIJ1g==/title, line 28, using +TreeNodeInfo::=/title { + STRUCT, name: =/title, qitem: union, qtype: =/title, qptype: , natural: union =/title, line 28, using INSTANCEVARIABLE, name: extended, qitem: extended, qtype: TreeNodeInfo::Extended, qptype: , natural: Extended *extended, line 29, using , pointer INSTANCEVARIABLE, name: text, qitem: text, qtype: , qptype: , natural: char text[SMALLCHARS], line 30, using , pointer }