summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-03-11 21:34:20 +0100
committerGeorgios Andreadis <info@gandreadis.com>2020-03-11 21:34:20 +0100
commitd701354716aa69e3a8466ee944bc8f5d7d5cdcf1 (patch)
tree3576881b56826e2835502b1e451cdc80989cf96a
parent7665c089ac44166f284d5757087ea1e7b3bc0a2d (diff)
Fix edge case where selected VM list contains an escaped single quote in a VM name
-rw-r--r--opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt6
1 files changed, 5 insertions, 1 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
index f5c98160..ffdf0529 100644
--- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
+++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt
@@ -53,7 +53,11 @@ class ExperimentParameters(parser: ArgParser) {
val outputFile by parser.storing("path to where the output should be stored")
.default { "sc20-experiment-results.csv" }
val selectedVms by parser.storing("the VMs to run") {
- val vms: List<String> = jacksonObjectMapper().readValue(this.replace('\'', '"'))
+ // Handle case where VM list contains a VM name with an (escaped) single-quote in it
+ val string = this.replace("\\'", "\\\\[")
+ .replace("'", "\"")
+ .replace("\\\\[", "'")
+ val vms: List<String> = jacksonObjectMapper().readValue(string)
vms
}
.default {