|
1 | 1 | remove.units <- "kilobytes" |
2 | | -base.ref <- "main" |
3 | 2 | version.colors = c( |
4 | 3 | HEAD="#6EA358", |
5 | | - "ponca v1.0" = "#FFD1C7", |
6 | | - "ponca v1.2" = "#FFB5A3", |
7 | | - "ponca v1.3" = "#FF9C85", |
8 | | - "ponca v1.4" = "#FF7D5E", |
9 | | - "ponca v2.alpha0" = "#C9DCFF", |
10 | | - "ponca v2.alpha1" = "#A1C1FF", |
11 | | - "ponca v2.alpha2" = "#82ABFF", |
12 | | - "ponca v2.alpha3" = "#548CFF" |
| 4 | + "v1.0" = "#FFD1C7", |
| 5 | + "v1.2" = "#FFB5A3", |
| 6 | + "v1.3" = "#FF9C85", |
| 7 | + "v1.4" = "#FF7D5E", |
| 8 | + "v2.0.alpha0" = "#C9DCFF", |
| 9 | + "v2.0.alpha1" = "#A1C1FF", |
| 10 | + "v2.0.alpha2" = "#82ABFF", |
| 11 | + "v2.0.alpha3" = "#548CFF" |
13 | 12 | ) |
14 | 13 |
|
| 14 | +edit_wrapper <- function(pkg.path){ |
| 15 | + src.dir <- file.path(pkg.path, "src") |
| 16 | + h.vec <- Sys.glob(file.path( |
| 17 | + src.dir, "wrapper-versions", "*", "curvatureEstimation.h")) |
| 18 | + (version.dirs <- c("", dirname(h.vec))) |
| 19 | + for(vdir in version.dirs){ |
| 20 | + cat(sprintf("Attempting to compile with wrapper=%s\n", vdir)) |
| 21 | + if(vdir != ""){ |
| 22 | + system(paste("cp", file.path(vdir, "*"), src.dir)) |
| 23 | + } |
| 24 | + unlink(file.path(src.dir, "*o")) |
| 25 | + status.int <- atime:::R_CMD_INSTALL(pkg.path) |
| 26 | + if(status.int == 0)return(vdir) |
| 27 | + } |
| 28 | +} |
| 29 | +edit_poncatime <- function(old.Package, new.Package, sha, new.pkg.path){ |
| 30 | + pkg_find_replace <- function(glob, FIND, REPLACE, warn=TRUE){ |
| 31 | + glob_find_replace(file.path(new.pkg.path, glob), FIND, REPLACE, warn) |
| 32 | + } |
| 33 | + cat(sprintf("Attempting to find a wrapper for %s\n", sha)) |
| 34 | + wrapper <- edit_wrapper(new.pkg.path) |
| 35 | + if(is.null(wrapper)){ |
| 36 | + stop(sprintf("failed to find a wrapper which compiles for %s", sha)) |
| 37 | + }else{ |
| 38 | + cat(sprintf("wrapper=%s compiles for %s\n", wrapper, sha)) |
| 39 | + } |
| 40 | + pkg_find_replace( |
| 41 | + "DESCRIPTION", |
| 42 | + paste0("Package:\\s+", old.Package), |
| 43 | + paste("Package:", new.Package)) |
| 44 | + Package_ <- gsub(".", "_", old.Package, fixed=TRUE) |
| 45 | + sha_ <- gsub(".", "_", sha, fixed=TRUE) |
| 46 | + new.Package_ <- paste0(Package_, "_", sha_) |
| 47 | + pkg_find_replace( |
| 48 | + file.path("src", "RcppExports.cpp"), |
| 49 | + paste0("R_init_", Package_), |
| 50 | + paste0("R_init_", new.Package_)) |
| 51 | + pkg_find_replace( |
| 52 | + file.path("R", "RcppExports.R"), |
| 53 | + sprintf("PACKAGE = '%s'", old.Package), |
| 54 | + sprintf("PACKAGE = '%s'", new.Package), |
| 55 | + warn=FALSE)#does not appear if registration used. |
| 56 | + pkg_find_replace( |
| 57 | + "NAMESPACE", |
| 58 | + sprintf('useDynLib\\("?%s"?', Package_), |
| 59 | + paste0('useDynLib(', new.Package)) |
| 60 | +} |
| 61 | + |
15 | 62 | test.list <- atime::atime_test_list( |
16 | 63 | seconds.limit=0.1, |
17 | | - result=TRUE, |
18 | 64 | N=10^seq(2, 6, by=0.5), |
19 | | - buildKdTree=atime::atime_test( |
20 | | - setup={ |
21 | | - N_points <- N |
22 | | - N_queries <- 0 |
23 | | - dataScale <- 10 |
24 | | - N_list <- Poncatime:::generatePointClouds_interface(N_points, N_queries, dataScale) |
25 | | - }, |
26 | | - expr=Poncatime:::buildKdTree_interface(N_list$points) |
27 | | - ), |
| 65 | + pkg.edit.fun=edit_poncatime, |
28 | 66 | asoCurvatureEstimationK=atime::atime_test( |
29 | 67 | setup={ |
30 | 68 | N_points <- N |
@@ -64,16 +102,25 @@ test.list <- atime::atime_test_list( |
64 | 102 | }, |
65 | 103 | setup.version=Poncatime:::buildKdTree_interface(N_list$points), |
66 | 104 | expr=Poncatime:::planeFit_interface(N_list$queries, dataScale/5) |
| 105 | + ), |
| 106 | + buildKdTree=atime::atime_test( |
| 107 | + setup={ |
| 108 | + N_points <- N |
| 109 | + N_queries <- 0 |
| 110 | + dataScale <- 10 |
| 111 | + N_list <- Poncatime:::generatePointClouds_interface(N_points, N_queries, dataScale) |
| 112 | + }, |
| 113 | + expr=Poncatime:::buildKdTree_interface(N_list$points) |
67 | 114 | ) |
68 | 115 | ) |
69 | | -for(test.name in names(test.list)){ |
70 | | - # test.list[[test.name]][["ponca v0.3"]] <- "PoncaV0x3" |
71 | | - test.list[[test.name]][["ponca v1.0"]] <- "PoncaV1x0" |
72 | | - # test.list[[test.name]][["ponca v1.2"]] <- "PoncaV1x2" |
73 | | - # test.list[[test.name]][["ponca v1.3"]] <- "PoncaV1x3" |
74 | | - test.list[[test.name]][["ponca v1.4"]] <- "PoncaV1x4" |
75 | | - test.list[[test.name]][["ponca v2.alpha0"]] <- "PoncaV2xalpha0" |
76 | | - test.list[[test.name]][["ponca v2.alpha1"]] <- "PoncaV2xalpha1" |
77 | | - test.list[[test.name]][["ponca v2.alpha2"]] <- "PoncaV2xalpha2" |
| 116 | + |
| 117 | +## historical versions of ponca repo to run in each test. |
| 118 | +checkout.path.relative <- "src/external/ponca" |
| 119 | +ponca.versions <- c( |
| 120 | + "v1.0", |
| 121 | + "v1.4", |
| 122 | + "v2.0.alpha1") |
| 123 | +for(test.name in names(test.list))for(ponca.vers in ponca.versions){ |
| 124 | + test.list[[test.name]][[ponca.vers]] <- ponca.vers |
78 | 125 | } |
79 | 126 |
|
0 commit comments