diff options
author | caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-09-26 13:00:03 +0000 |
---|---|---|
committer | caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-09-26 13:00:03 +0000 |
commit | d312804b2198d58276f460c6a85378d2c1b5e548 (patch) | |
tree | 89579ffa83a45687490183aed05db888622c596b /experimental/Intersection | |
parent | 9dd78c78214ada184f1ecf7b0ffbed86e3be26eb (diff) |
shape ops -- update gyp projects
goodbye cruel world (updating to OS X 10.8)
git-svn-id: http://skia.googlecode.com/svn/trunk@5685 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/Intersection')
-rw-r--r-- | experimental/Intersection/AddTestOutput/main.cpp | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/experimental/Intersection/AddTestOutput/main.cpp b/experimental/Intersection/AddTestOutput/main.cpp new file mode 100644 index 0000000000..257bba0026 --- /dev/null +++ b/experimental/Intersection/AddTestOutput/main.cpp @@ -0,0 +1,111 @@ +#include "SkStream.h" +#include "SkString.h" +#include "SkTDArray.h" +#include <stdio.h> + +static bool replace(const char* fun, const char* dir, const char* filename, const char* marker, + const char* marker2, const char* replace, size_t replaceLen) { + SkString outFileStr(dir); + outFileStr.append(filename); + SkFILEStream opStreamIn(outFileStr.c_str()); + if (!opStreamIn.isValid()) { + SkDebugf("%s couldn't find %s\n", fun, outFileStr.c_str()); + return false; + } + SkTDArray<char> opData; + opData.setCount(opStreamIn.getLength()); + size_t opLen = opData.count(); + opStreamIn.read(opData.begin(), opLen); + opStreamIn.setPath(NULL); + SkFILEWStream opStreamOut(outFileStr.c_str()); + if (!opStreamOut.isValid()) { + SkDebugf("%s couldn't open for writing %s\n", fun, outFileStr.c_str()); + return false; + } + + char* opInsert = strstr(opData.begin(), marker); + if (!opInsert) { + SkDebugf("%s missing marker in %s\n", fun, outFileStr.c_str()); + return false; + } + const char* opInsertEnd = opInsert + strlen(marker); + if (marker2) { + char* opInsert2 = strstr(opInsert, marker2); + if (!opInsert2) { + SkDebugf("%s missing marker second half in %s\n", fun, outFileStr.c_str()); + return false; + } + opInsertEnd = opInsert2 + strlen(marker2); + } + opStreamOut.write(opData.begin(), opInsert - opData.begin()); + opStreamOut.write(replace, replaceLen); + opStreamOut.write(opInsertEnd, opLen - (opInsertEnd - opData.begin())); + opStreamOut.flush(); + return true; +} + +int main (int argc, char * const argv[]) { + if (argc != 2) { + SkDebugf("%s expected filename\n", argv[0]); + return 0; + } + const char* dir = "../../experimental/Intersection/"; + SkString inFileStr; + if (argv[1][0] != '/') { + inFileStr.append(dir); + } + inFileStr.append(argv[1]); + SkFILEStream inFile(inFileStr.c_str()); + if (!inFile.isValid()) { + SkDebugf("%s couldn't find %s\n", argv[0], argv[1]); + return 0; + } + SkTDArray<char> inData; + inData.setCount(inFile.getLength()); + size_t inLen = inData.count(); + inFile.read(inData.begin(), inLen); + inFile.setPath(NULL); + char* insert = strstr(inData.begin(), "\n\n\n"); + if (!insert) { + SkDebugf("%s missing two blank line delimiter in %s\n", argv[0], argv[1]); + return 0; + } + insert += 1; // include first blank line + const char opMarker[] = + "</div>" "\n" + "\n" + "<script type=\"text/javascript\">" "\n" + "\n" + "var testDivs = [" "\n" + ; + if (!replace(argv[0], dir, "op.htm", opMarker, NULL, inData.begin(), + insert - inData.begin())) { + return 0; + } + const char newMarker[] = + "static void (*firstTest)() = " + ; + const char newMarker2[] = + ";" "\n" + "\n" + "static struct {" "\n" + " void (*fun)();" "\n" + " const char* str;" "\n" + "} tests[] = {" "\n" + ; + if (!replace(argv[0], dir, "SimplifyNew_Test.cpp", newMarker, newMarker2, insert + 2, + inLen - (insert - inData.begin()) - 2)) { + return 0; + } + const char simplifyMarker[] = + "#if 1 // set to 1 for multiple thread -- no debugging" + ; + const char simplifyReplace[] = + "#if 0 // set to 1 for multiple thread -- no debugging" + ; + if (!replace(argv[0], dir, "Simplify.cpp", simplifyMarker, NULL, simplifyReplace, + sizeof(simplifyReplace) - 1)) { + return 0; + } + return 0; +} |