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

import (
aaronchen2k2k's avatar
aaronchen2k2k 已提交
4
	"fmt"
5
	"github.com/easysoft/zentaoatf/src/model"
6
	"github.com/easysoft/zentaoatf/src/script"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
7 8 9 10 11 12
	testingService "github.com/easysoft/zentaoatf/src/service/test"
	"github.com/easysoft/zentaoatf/src/utils/common"
	"github.com/easysoft/zentaoatf/src/utils/const"
	"github.com/easysoft/zentaoatf/src/utils/file"
	"github.com/easysoft/zentaoatf/src/utils/vari"
	zentaoUtils "github.com/easysoft/zentaoatf/src/utils/zentao"
13
	"strings"
14 15
)

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

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

aaronchen2k2k's avatar
aaronchen2k2k 已提交
33
		files, _ = fileUtils.GetSpecifiedFiles(scriptDir, fileNames)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
34
	} else { // give a dir
aaronchen2k2k's avatar
aaronchen2k2k 已提交
35
		fileUtils.GetAllFiles(scriptDir, LangMap[langType]["extName"], &files)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
36
		fmt.Printf("%v", scriptDir)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
37
		fmt.Printf("%v", files)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
38 39
		vari.RunMode = constant.DIR
		vari.RunDir = zentaoUtils.PathToRunName(scriptDir)
40
	}
41

aaronchen2k2k's avatar
aaronchen2k2k 已提交
42
	var report = model.TestReport{Path: vari.Prefer.WorkDir, Env: commonUtils.GetOs(),
43 44
		Pass: 0, Fail: 0, Total: 0, Cases: make([]model.CaseLog, 0)}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
45
	testingService.ExeScripts(files, vari.Prefer.WorkDir, langType, &report)
46

aaronchen2k2k's avatar
aaronchen2k2k 已提交
47 48
	testingService.CheckResults(files, vari.Prefer.WorkDir, langType, &report)
	testingService.Print(report, vari.Prefer.WorkDir)
49
}