From d98bc2c3964cfc5c9f8e640d0ea954a1a2211418 Mon Sep 17 00:00:00 2001 From: Stan Brubaker <120737309+stanbrub@users.noreply.github.com> Date: Fri, 9 Feb 2024 16:52:39 -0700 Subject: [PATCH] Updated deprecated methods and tests (#265) --- .../tests/internal/workflow/PublishTest.java | 5 +++-- .../java/io/deephaven/benchmark/api/Profile.java | 5 +++-- .../controller/DeephavenDockerController.java | 14 +++++++------- .../benchmark/run/PublishNotification.java | 5 +++-- .../java/io/deephaven/benchmark/util/Exec.java | 4 ++-- .../java/io/deephaven/benchmark/util/ExecTest.java | 7 +++++-- 6 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/it/java/io/deephaven/benchmark/tests/internal/workflow/PublishTest.java b/src/it/java/io/deephaven/benchmark/tests/internal/workflow/PublishTest.java index 712fa48f..c57dc1df 100644 --- a/src/it/java/io/deephaven/benchmark/tests/internal/workflow/PublishTest.java +++ b/src/it/java/io/deephaven/benchmark/tests/internal/workflow/PublishTest.java @@ -1,7 +1,8 @@ -/* Copyright (c) 2022-2023 Deephaven Data Labs and Patent Pending */ +/* Copyright (c) 2022-2024 Deephaven Data Labs and Patent Pending */ package io.deephaven.benchmark.tests.internal.workflow; import static org.junit.jupiter.api.Assertions.assertEquals; +import java.net.URI; import java.net.URL; import org.junit.jupiter.api.*; import io.deephaven.benchmark.api.Bench; @@ -99,7 +100,7 @@ private void stageRuns(String srcUri, String dstDir, String... runIds) throws Ex } private void stageFile(String srcUri, String dstPath) throws Exception { - var fileContents = getURLText(new URL(srcUri)); + var fileContents = getURLText(new URI(srcUri).toURL()); var q = """ contents = '''${fileContents}''' import os, sys diff --git a/src/main/java/io/deephaven/benchmark/api/Profile.java b/src/main/java/io/deephaven/benchmark/api/Profile.java index cf99256f..c482eaa5 100644 --- a/src/main/java/io/deephaven/benchmark/api/Profile.java +++ b/src/main/java/io/deephaven/benchmark/api/Profile.java @@ -1,7 +1,8 @@ -/* Copyright (c) 2022-2023 Deephaven Data Labs and Patent Pending */ +/* Copyright (c) 2022-2024 Deephaven Data Labs and Patent Pending */ package io.deephaven.benchmark.api; import java.io.InputStream; +import java.net.URI; import java.net.URL; import java.nio.file.Path; import java.nio.file.Paths; @@ -177,7 +178,7 @@ private URL findProfileUrl(String uri) { private URL findProfileAsHttp(String uri) { try { - return (uri.matches("^[A-Za-z][:][/].*")) ? new URL(uri) : null; + return (uri.matches("^[A-Za-z][:][/].*")) ? new URI(uri).toURL() : null; } catch (Exception ex) { throw new RuntimeException("Failed to find remote profile: " + uri); } diff --git a/src/main/java/io/deephaven/benchmark/controller/DeephavenDockerController.java b/src/main/java/io/deephaven/benchmark/controller/DeephavenDockerController.java index c7ea0fe5..313ac179 100644 --- a/src/main/java/io/deephaven/benchmark/controller/DeephavenDockerController.java +++ b/src/main/java/io/deephaven/benchmark/controller/DeephavenDockerController.java @@ -44,8 +44,8 @@ public boolean startService() { return false; var composeRunPath = getRunningComposePath(); if (composeRunPath != null) - exec("sudo docker compose -f " + composeRunPath + " down"); - exec("sudo docker compose -f " + composePropPath + " up -d"); + exec("sudo", "docker", "compose", "-f", composeRunPath, "down"); + exec("sudo", "docker", "compose", "-f", composePropPath, "up", "-d"); waitForEngineReady(); return true; } @@ -59,7 +59,7 @@ public boolean startService() { public boolean stopService() { if (composePropPath.isBlank()) return false; - exec("sudo docker compose -f " + composePropPath + " down --timeout 0"); + exec("sudo", "docker", "compose", "-f", composePropPath, "down", "--timeout", "0"); return true; } @@ -86,7 +86,7 @@ public String getLog() { return ""; var composePath = getRunningComposePath(); if (composePath != null) - return exec("sudo docker compose -f " + composePath + " logs"); + return exec("sudo", "docker", "compose", "-f", composePath, "logs"); return ""; } @@ -132,12 +132,12 @@ String getRunningComposePath() { } List getRunningContainerIds() { - var out = exec("sudo docker ps"); + var out = exec("sudo", "docker", "ps"); return parseContainerIds(out); } ContainerInfo getContainerInfo(String containerId) { - var out = exec("sudo docker container inspect " + containerId); + var out = exec("sudo", "docker", "container", "inspect", containerId); return parseContainerInfo(out); } @@ -161,7 +161,7 @@ String getPropValue(String props, String name, String containsVal) { return matches.get(0).replaceAll("\"[,]?", "").split("[:]\s*")[1].trim(); } - String exec(String command) { + String exec(String... command) { return Exec.exec(workDir, command); } diff --git a/src/main/java/io/deephaven/benchmark/run/PublishNotification.java b/src/main/java/io/deephaven/benchmark/run/PublishNotification.java index b7009792..dbff9e5f 100644 --- a/src/main/java/io/deephaven/benchmark/run/PublishNotification.java +++ b/src/main/java/io/deephaven/benchmark/run/PublishNotification.java @@ -1,8 +1,9 @@ -/* Copyright (c) 2022-2023 Deephaven Data Labs and Patent Pending */ +/* Copyright (c) 2022-2024 Deephaven Data Labs and Patent Pending */ package io.deephaven.benchmark.run; import java.io.OutputStream; import java.net.HttpURLConnection; +import java.net.URI; import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Path; @@ -91,7 +92,7 @@ void publishToSlack(Path outDir) { payload = payload.replace("${msg}", message); try { System.out.println("-- Pushing notification to Slack --"); - URL url = new URL("https://slack.com/api/chat.postMessage"); + URL url = new URI("https://slack.com/api/chat.postMessage").toURL(); var c = (HttpURLConnection) url.openConnection(); c.setRequestMethod("POST"); c.setDoOutput(true); diff --git a/src/main/java/io/deephaven/benchmark/util/Exec.java b/src/main/java/io/deephaven/benchmark/util/Exec.java index 5ec41e0b..3f78ae2a 100644 --- a/src/main/java/io/deephaven/benchmark/util/Exec.java +++ b/src/main/java/io/deephaven/benchmark/util/Exec.java @@ -1,4 +1,4 @@ -/* Copyright (c) 2022-2023 Deephaven Data Labs and Patent Pending */ +/* Copyright (c) 2022-2024 Deephaven Data Labs and Patent Pending */ package io.deephaven.benchmark.util; import java.io.*; @@ -17,7 +17,7 @@ public class Exec { * @param command the shell command to run * @return the standard output of the process */ - static public String exec(Path workingDir, String command) { + static public String exec(Path workingDir, String... command) { try { Process process = Runtime.getRuntime().exec(command, null, workingDir.toFile()); var out = getStdout(process); diff --git a/src/test/java/io/deephaven/benchmark/util/ExecTest.java b/src/test/java/io/deephaven/benchmark/util/ExecTest.java index b49afa7b..4678d511 100644 --- a/src/test/java/io/deephaven/benchmark/util/ExecTest.java +++ b/src/test/java/io/deephaven/benchmark/util/ExecTest.java @@ -1,4 +1,4 @@ -/* Copyright (c) 2022-2023 Deephaven Data Labs and Patent Pending */ +/* Copyright (c) 2022-2024 Deephaven Data Labs and Patent Pending */ package io.deephaven.benchmark.util; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -6,10 +6,13 @@ import org.junit.jupiter.api.Test; public class ExecTest { + String[] windowsEcho = {"cmd", "/c", "echo", "Ack"}; + String[] bashEcho = {"echo", "Ack"}; + @Test public void exec() { var os = System.getProperty("os.name"); - var cmd = os.contains("Windows") ? "cmd /c echo Ack" : "echo Ack"; + var cmd = os.contains("Windows") ? windowsEcho : bashEcho; assertEquals("Ack", Exec.exec(Paths.get("."), cmd), "Wrong response"); }