From d701354716aa69e3a8466ee944bc8f5d7d5cdcf1 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Wed, 11 Mar 2020 21:34:20 +0100 Subject: Fix edge case where selected VM list contains an escaped single quote in a VM name --- .../kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 = 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 = jacksonObjectMapper().readValue(string) vms } .default { -- cgit v1.2.3