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

import (
aaronchen2k2k's avatar
aaronchen2k2k 已提交
4
	"fmt"
5
	"github.com/easysoft/zentaoatf/src/biz"
6
	"github.com/easysoft/zentaoatf/src/misc"
7
	"github.com/easysoft/zentaoatf/src/model"
8
	"github.com/easysoft/zentaoatf/src/script"
9
	"github.com/easysoft/zentaoatf/src/utils"
10
	"strings"
11 12
)

13
func Run(scriptDir string, fileNames []string, langType string) {
14
	LangMap := script.LangMap
15
	var files []string
aaronchen2k2k's avatar
aaronchen2k2k 已提交
16

aaronchen2k2k's avatar
aaronchen2k2k 已提交
17
	if fileNames != nil && len(fileNames) > 0 { // pass a list, cui always
18 19
		if len(fileNames) == 1 {
			if strings.Index(fileNames[0], ".suite") > -1 {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
20
				utils.RunMode = misc.SUITE
21
			} else {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
22
				utils.RunMode = misc.SCRIPT
23
			}
24
			utils.RunDir = utils.PathToRunName(fileNames[0])
25
		} else {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
26
			utils.RunMode = misc.BATCH
27
			utils.RunDir = utils.PathToRunName("")
28 29
		}

30
		files, _ = utils.GetSpecifiedFiles(scriptDir, fileNames)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
31
	} else { // give a dir
aaronchen2k2k's avatar
aaronchen2k2k 已提交
32
		utils.GetAllFiles(scriptDir, LangMap[langType]["extName"], &files)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
33
		fmt.Printf("%v", files)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
34
		utils.RunMode = misc.DIR
35
		utils.RunDir = utils.PathToRunName(scriptDir)
36
	}
37

aaronchen2k2k's avatar
aaronchen2k2k 已提交
38
	var report = model.TestReport{Path: utils.Prefer.WorkDir, Env: utils.GetOs(),
39 40
		Pass: 0, Fail: 0, Total: 0, Cases: make([]model.CaseLog, 0)}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
41
	biz.ExeScripts(files, utils.Prefer.WorkDir, langType, &report)
42

aaronchen2k2k's avatar
aaronchen2k2k 已提交
43 44
	biz.CheckResults(files, utils.Prefer.WorkDir, langType, &report)
	biz.Print(report, utils.Prefer.WorkDir)
45
}