xref: /aosp_15_r20/external/testng/src/test/java/test/TestHelper.java (revision 83a54b2f2026052c38867f4cde56111edcd60b56)
1*83a54b2fSSadaf Ebrahimi package test;
2*83a54b2fSSadaf Ebrahimi 
3*83a54b2fSSadaf Ebrahimi import org.testng.TestNG;
4*83a54b2fSSadaf Ebrahimi import org.testng.collections.Lists;
5*83a54b2fSSadaf Ebrahimi import org.testng.xml.XmlClass;
6*83a54b2fSSadaf Ebrahimi import org.testng.xml.XmlSuite;
7*83a54b2fSSadaf Ebrahimi import org.testng.xml.XmlTest;
8*83a54b2fSSadaf Ebrahimi 
9*83a54b2fSSadaf Ebrahimi import java.io.File;
10*83a54b2fSSadaf Ebrahimi import java.util.ArrayList;
11*83a54b2fSSadaf Ebrahimi import java.util.List;
12*83a54b2fSSadaf Ebrahimi import java.util.Random;
13*83a54b2fSSadaf Ebrahimi 
14*83a54b2fSSadaf Ebrahimi public class TestHelper {
15*83a54b2fSSadaf Ebrahimi 
createSuite(String cls, String suiteName)16*83a54b2fSSadaf Ebrahimi   public static XmlSuite createSuite(String cls, String suiteName) {
17*83a54b2fSSadaf Ebrahimi     return createSuite(cls, suiteName, "TmpTest");
18*83a54b2fSSadaf Ebrahimi   }
19*83a54b2fSSadaf Ebrahimi 
createSuite(Class<?> cls, String suiteName, String testName)20*83a54b2fSSadaf Ebrahimi   public static XmlSuite createSuite(Class<?> cls, String suiteName, String testName) {
21*83a54b2fSSadaf Ebrahimi     return createSuite(cls.getName(), suiteName, testName);
22*83a54b2fSSadaf Ebrahimi   }
23*83a54b2fSSadaf Ebrahimi 
createSuite(String cls, String suiteName, String testName)24*83a54b2fSSadaf Ebrahimi   private static XmlSuite createSuite(String cls, String suiteName, String testName) {
25*83a54b2fSSadaf Ebrahimi     XmlSuite result = new XmlSuite();
26*83a54b2fSSadaf Ebrahimi     result.setName(suiteName);
27*83a54b2fSSadaf Ebrahimi 
28*83a54b2fSSadaf Ebrahimi     XmlTest test = new XmlTest(result);
29*83a54b2fSSadaf Ebrahimi     test.setName(testName);
30*83a54b2fSSadaf Ebrahimi     List<XmlClass> classes = new ArrayList<>();
31*83a54b2fSSadaf Ebrahimi     classes.add(new XmlClass(cls));
32*83a54b2fSSadaf Ebrahimi     test.setXmlClasses(classes);
33*83a54b2fSSadaf Ebrahimi 
34*83a54b2fSSadaf Ebrahimi     return result;
35*83a54b2fSSadaf Ebrahimi   }
36*83a54b2fSSadaf Ebrahimi 
createTestNG(String outputDir)37*83a54b2fSSadaf Ebrahimi   public static TestNG createTestNG(String outputDir) {
38*83a54b2fSSadaf Ebrahimi     return createTestNG(null, outputDir);
39*83a54b2fSSadaf Ebrahimi   }
40*83a54b2fSSadaf Ebrahimi 
createTestNG()41*83a54b2fSSadaf Ebrahimi   public static TestNG createTestNG() {
42*83a54b2fSSadaf Ebrahimi     return createTestNG(null, null);
43*83a54b2fSSadaf Ebrahimi   }
44*83a54b2fSSadaf Ebrahimi 
createTestNG(XmlSuite suite)45*83a54b2fSSadaf Ebrahimi   public static TestNG createTestNG(XmlSuite suite) {
46*83a54b2fSSadaf Ebrahimi     return createTestNG(suite, System.getProperty("java.io.tmpdir"));
47*83a54b2fSSadaf Ebrahimi   }
48*83a54b2fSSadaf Ebrahimi 
createTestNG(XmlSuite suite, String outputDir)49*83a54b2fSSadaf Ebrahimi   public static TestNG createTestNG(XmlSuite suite, String outputDir) {
50*83a54b2fSSadaf Ebrahimi     TestNG result = new TestNG();
51*83a54b2fSSadaf Ebrahimi     if (suite != null) {
52*83a54b2fSSadaf Ebrahimi       List<XmlSuite> suites = Lists.newArrayList();
53*83a54b2fSSadaf Ebrahimi       suites.add(suite);
54*83a54b2fSSadaf Ebrahimi       result.setXmlSuites(suites);
55*83a54b2fSSadaf Ebrahimi     }
56*83a54b2fSSadaf Ebrahimi     if (outputDir == null) {
57*83a54b2fSSadaf Ebrahimi       outputDir = createRandomDirectory().getAbsolutePath();
58*83a54b2fSSadaf Ebrahimi     }
59*83a54b2fSSadaf Ebrahimi     result.setOutputDirectory(outputDir);
60*83a54b2fSSadaf Ebrahimi     result.setVerbose(-1);
61*83a54b2fSSadaf Ebrahimi 
62*83a54b2fSSadaf Ebrahimi     return result;
63*83a54b2fSSadaf Ebrahimi   }
64*83a54b2fSSadaf Ebrahimi 
createRandomDirectory()65*83a54b2fSSadaf Ebrahimi   public static File createRandomDirectory() {
66*83a54b2fSSadaf Ebrahimi     String dir = System.getProperty("java.io.tmpdir");
67*83a54b2fSSadaf Ebrahimi     Random r = new Random(System.currentTimeMillis());
68*83a54b2fSSadaf Ebrahimi     String name = "testng-tmp-" + r.nextInt();
69*83a54b2fSSadaf Ebrahimi     File result = new File(dir + File.separatorChar + name);
70*83a54b2fSSadaf Ebrahimi     result.deleteOnExit();
71*83a54b2fSSadaf Ebrahimi     result.mkdirs();
72*83a54b2fSSadaf Ebrahimi 
73*83a54b2fSSadaf Ebrahimi     return result;
74*83a54b2fSSadaf Ebrahimi   }
75*83a54b2fSSadaf Ebrahimi 
ppp(String string)76*83a54b2fSSadaf Ebrahimi   private static void ppp(String string) {
77*83a54b2fSSadaf Ebrahimi     System.out.println("[TestHelper] " + string);
78*83a54b2fSSadaf Ebrahimi   }
79*83a54b2fSSadaf Ebrahimi 
80*83a54b2fSSadaf Ebrahimi }
81