testexecserver: Hook up tauto driver to testexecserver

Hook up tauto driver to testexecserver. The testexeserver can run tauto
tests now, but it will get an error like this:

2021/06/23 20:42:58 [tauto] 13:42:58 INFO | Finished running tests. Results can be found in /tmp/results/autotest/20210623-134237 or /tmp/test_that_latest
failed to unmarshal results: unexpected end of JSON inp

We will address this issure with different CL

BUG=b:191800994
TEST=./fast_build.sh; ./fast_build.sh -T; testexecserver -input ./src/chromiumos/test/execution/data/tauto.json -driver=tauto -output result.json -tlwaddr=

Change-Id: Ib2d20911e9d9b0450a8e85c196abddbf38b2e3eb
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/2983656
Commit-Queue: Seewai Fu <seewaifu@google.com>
Tested-by: Seewai Fu <seewaifu@google.com>
Reviewed-by: Derek Beckett <dbeckett@chromium.org>
Reviewed-by: Jaques Clapauch <jaquesc@google.com>
diff --git a/src/chromiumos/test/execution/cmd/testexecserver/internal/driver/tauto_driver.go b/src/chromiumos/test/execution/cmd/testexecserver/internal/driver/tauto_driver.go
index 2449ca6..8930d2f 100644
--- a/src/chromiumos/test/execution/cmd/testexecserver/internal/driver/tauto_driver.go
+++ b/src/chromiumos/test/execution/cmd/testexecserver/internal/driver/tauto_driver.go
@@ -43,8 +43,8 @@
 }
 
 // RunTests drives a test framework to execute tests.
-func (td *TautoDriver) RunTests(ctx context.Context, resultsDir, dut string, tests []string) (*api.RunTestsResponse, error) {
-	path := "/usr/local/autotest/site_utils/test_that.py" // Default path of test_that.
+func (td *TautoDriver) RunTests(ctx context.Context, resultsDir, dut, tlwAddr string, tests []string) (*api.RunTestsResponse, error) {
+	path := "/usr/bin/test_that" // Default path of test_that.
 
 	if resultsDir != "" {
 		// Make sure the result directory exists.
@@ -104,7 +104,7 @@
 
 // Flag names. More to be populated once impl details are firmed.
 const (
-	autotestDir         = "--autotestDir"
+	autotestDir         = "--autotest_dir"
 	tautoResultsDirFlag = "--results_dir"
 )
 
@@ -132,7 +132,6 @@
 	}
 
 	args.runFlags[tautoResultsDirFlag] = resultsDir
-	fmt.Println(args)
 	return &args
 }
 
diff --git a/src/chromiumos/test/execution/cmd/testexecserver/testexecserver.go b/src/chromiumos/test/execution/cmd/testexecserver/testexecserver.go
index 7f2f3cf..0206a43 100644
--- a/src/chromiumos/test/execution/cmd/testexecserver/testexecserver.go
+++ b/src/chromiumos/test/execution/cmd/testexecserver/testexecserver.go
@@ -21,8 +21,13 @@
 // runTests runs the requested tests.
 func runTests(ctx context.Context, logger *log.Logger, tlwAddr, testType string, req *api.RunTestsRequest) (*api.RunTestsResponse, error) {
 	var testDriver driver.Driver
-	if testType == "tast" {
+	switch testType {
+	case "tast":
 		testDriver = driver.NewTastDriver(logger)
+	case "tauto":
+		testDriver = driver.NewTautoDriver(logger)
+	default:
+		return nil, fmt.Errorf("unsupported target: %v", testType)
 	}
 	var tests []string
 	for _, suite := range req.TestSuites {
diff --git a/src/chromiumos/test/execution/data/tauto.json b/src/chromiumos/test/execution/data/tauto.json
new file mode 100644
index 0000000..7440dce
--- /dev/null
+++ b/src/chromiumos/test/execution/data/tauto.json
@@ -0,0 +1,17 @@
+{
+	"test_suites" : [
+		{
+			"name" : "suite1",
+			"test_case_ids" : {
+				"test_case_ids" : [
+					{
+						"value" : "dummy_Pass"
+					}
+				]
+			}
+		}
+	],
+	"dut" : {
+		"primary_host": "127.0.0.1:2222"
+	}
+}