17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 package jdk.test.lib.containers.docker;
25
26 import java.util.ArrayList;
27 import java.util.Collections;
28
29
30 // This class represents options for running java inside docker containers
31 // in test environment.
32 public class DockerRunOptions {
33 public String imageNameAndTag;
34 public ArrayList<String> dockerOpts = new ArrayList<String>();
35 public String command; // normally a full path to java
36 public ArrayList<String> javaOpts = new ArrayList<String>();
37 public String classToRun; // class or "-version"
38 public ArrayList<String> classParams = new ArrayList<String>();
39
40 public boolean tty = true;
41 public boolean removeContainerAfterUse = true;
42 public boolean appendTestJavaOptions = true;
43 public boolean retainChildStdout = false;
44
45 /**
46 * Convenience constructor for most common use cases in testing.
47 * @param imageNameAndTag a string representing name and tag for the
48 * docker image to run, as "name:tag"
49 * @param javaCmd a java command to run (e.g. /jdk/bin/java)
50 * @param classToRun a class to run, or "-version"
51 * @param javaOpts java options to use
52 *
53 * @return Default docker run options
54 */
55 public DockerRunOptions(String imageNameAndTag, String javaCmd,
56 String classToRun, String... javaOpts) {
57 this.imageNameAndTag = imageNameAndTag;
58 this.command = javaCmd;
59 this.classToRun = classToRun;
60 this.addJavaOpts(javaOpts);
61 }
62
63 public DockerRunOptions addDockerOpts(String... opts) {
64 Collections.addAll(dockerOpts, opts);
65 return this;
66 }
67
68 public DockerRunOptions addJavaOpts(String... opts) {
69 Collections.addAll(javaOpts, opts);
70 return this;
71 }
72
73 public DockerRunOptions addClassOptions(String... opts) {
74 Collections.addAll(classParams,opts);
75 return this;
76 }
77 }
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 package jdk.test.lib.containers.docker;
25
26 import java.util.ArrayList;
27 import java.util.Collections;
28
29
30 // This class represents options for running java inside docker containers
31 // in test environment.
32 public class DockerRunOptions {
33 public String imageNameAndTag;
34 public ArrayList<String> dockerOpts = new ArrayList<String>();
35 public String command; // normally a full path to java
36 public ArrayList<String> javaOpts = new ArrayList<String>();
37 // more java options, but to be set AFTER the test Java options
38 public ArrayList<String> javaOptsAppended = new ArrayList<String>();
39 public String classToRun; // class or "-version"
40 public ArrayList<String> classParams = new ArrayList<String>();
41
42 public boolean tty = true;
43 public boolean removeContainerAfterUse = true;
44 public boolean appendTestJavaOptions = true;
45 public boolean retainChildStdout = false;
46
47 /**
48 * Convenience constructor for most common use cases in testing.
49 * @param imageNameAndTag a string representing name and tag for the
50 * docker image to run, as "name:tag"
51 * @param javaCmd a java command to run (e.g. /jdk/bin/java)
52 * @param classToRun a class to run, or "-version"
53 * @param javaOpts java options to use
54 *
55 * @return Default docker run options
56 */
57 public DockerRunOptions(String imageNameAndTag, String javaCmd,
58 String classToRun, String... javaOpts) {
59 this.imageNameAndTag = imageNameAndTag;
60 this.command = javaCmd;
61 this.classToRun = classToRun;
62 this.addJavaOpts(javaOpts);
63 }
64
65 public DockerRunOptions addDockerOpts(String... opts) {
66 Collections.addAll(dockerOpts, opts);
67 return this;
68 }
69
70 public DockerRunOptions addJavaOpts(String... opts) {
71 Collections.addAll(javaOpts, opts);
72 return this;
73 }
74
75 public DockerRunOptions addJavaOptsAppended(String... opts) {
76 Collections.addAll(javaOptsAppended, opts);
77 return this;
78 }
79
80 public DockerRunOptions addClassOptions(String... opts) {
81 Collections.addAll(classParams,opts);
82 return this;
83 }
84 }
|