summaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/vid/automation/test/StartTest.java
blob: 742cb6f1ec95e26a7ddcb5d80aee4e0709c1fc54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package vid.automation.test;

import org.testng.TestNG;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;

/**
 * Created by itzikliderman on 21/06/2017.
 */
public class StartTest {
    public static boolean debug = false;

    public static AtomicBoolean loggerInitialized = new AtomicBoolean(false);

    protected static Logger logger = null;

    public static void main (String[] args) throws IOException {
        String debugEnabled = System.getProperty("debug");
        if (debugEnabled != null && debugEnabled.equalsIgnoreCase("true")) {
            debug = true;
        }
        System.out.println("Debug mode is " + (debug ? "enabled" : "disabled"));

        enableLogger();

        TestNG testng = new TestNG();

        List<String> suites = new ArrayList<String>();
        suites.add(args[0]);
        testng.setTestSuites(suites);
        testng.setUseDefaultListeners(true);
        testng.setOutputDirectory("target/");

        testng.run();
    }

    public StartTest() {
        logger = Logger.getLogger(StartTest.class.getName());
    }

    public static void enableLogger() {

        if (false == loggerInitialized.get()) {

            loggerInitialized.set(true);

            String log4jPropsFile = System.getProperty("log4j.configuration");
//            if (System.getProperty("os.name").contains("Windows")) {
                String logProps = "src/main/resources/ci/conf/log4j.properties";
                if (log4jPropsFile == null) {
                    System.setProperty("targetlog", "target/");
                    log4jPropsFile = logProps;
                }

//            }
            PropertyConfigurator.configureAndWatch(log4jPropsFile);

        }
    }

}