run.go 1.3 KB
Newer Older
1 2 3 4
package action

import (
	"github.com/easysoft/zentaoatf/src/biz"
5
	"github.com/easysoft/zentaoatf/src/misc"
6
	"github.com/easysoft/zentaoatf/src/model"
7
	"github.com/easysoft/zentaoatf/src/script"
8
	"github.com/easysoft/zentaoatf/src/utils"
9
	"strings"
10 11
)

12
func Run(scriptDir string, fileNames []string, langType string) {
13
	if strings.Index(scriptDir, "/") != 0 {
14
		scriptDir = utils.Prefer.WorkDir + scriptDir
15 16
	}

17
	LangMap := script.LangMap
18 19
	var files []string
	if fileNames != nil && len(fileNames) > 0 {
20 21
		if len(fileNames) == 1 {
			if strings.Index(fileNames[0], ".suite") > -1 {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
22
				utils.RunMode = misc.SUITE
23
			} else {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
24
				utils.RunMode = misc.SCRIPT
25
			}
26
			utils.RunDir = utils.PathToRunName(fileNames[0])
27
		} else {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
28
			utils.RunMode = misc.BATCH
29
			utils.RunDir = utils.PathToRunName("")
30 31
		}

32
		files, _ = utils.GetSpecifiedFiles(scriptDir, fileNames)
33
	} else {
34
		files, _ = utils.GetAllFiles(scriptDir, LangMap[langType]["extName"])
aaronchen2k2k's avatar
aaronchen2k2k 已提交
35
		utils.RunMode = misc.DIR
36
		utils.RunDir = utils.PathToRunName(scriptDir)
37
	}
38

39
	var report = model.TestReport{Path: scriptDir, Env: utils.GetOs(),
40 41 42 43
		Pass: 0, Fail: 0, Total: 0, Cases: make([]model.CaseLog, 0)}

	biz.ExeScripts(files, scriptDir, langType, &report)

44
	biz.CheckResults(files, scriptDir, langType, &report)
45 46
	biz.Print(report, scriptDir)
}