Support typedef for vts generator.

*Since hidl-gen simply treats typedef as alias of the defiend type, no
 need to generate type declaration for it in the .vts file.
*Move the make for hidl_gen_test to test/Android.mk.

Bug: 30762234
Change-Id: I509be0dc8e4f32df62448385d58c80a7166c3ff5
diff --git a/Android.mk b/Android.mk
index 47b9bc2..08d6696 100644
--- a/Android.mk
+++ b/Android.mk
@@ -44,22 +44,4 @@
 
 include $(BUILD_HOST_EXECUTABLE)
 
-include $(CLEAR_VARS)
-LOCAL_MODULE := hidl_gen_test
-LOCAL_MODULE_CLASS := FAKE
-LOCAL_IS_HOST_MODULE := true
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-the_py_script := $(LOCAL_PATH)/test/test_output.py
-$(LOCAL_BUILT_MODULE): PRIVATE_PY_SCRIPT := $(the_py_script)
-$(LOCAL_BUILT_MODULE): PRIVATE_OUT_DIR := $(LOCAL_PATH)/test_out
-$(LOCAL_BUILT_MODULE): PRIVATE_CANONICAL_DIR := $(LOCAL_PATH)/test/data
-$(LOCAL_BUILT_MODULE): PRIVATE_HIDL_EXEC := $(HOST_OUT_EXECUTABLES)/hidl-gen
-$(LOCAL_BUILT_MODULE): PRIVATE_PACKAGE_ROOT := android.hardware:$(TOP)/hardware/interfaces
-$(LOCAL_BUILT_MODULE): $(the_py_script) $(HOST_OUT_EXECUTABLES)/hidl-gen
-	@echo "host Test: $(PRIVATE_MODULE)"
-	$(hide) python $(PRIVATE_PY_SCRIPT) $(PRIVATE_HIDL_EXEC) $(PRIVATE_CANONICAL_DIR) $(PRIVATE_OUT_DIR) $(PRIVATE_PACKAGE_ROOT)
-	$(hide) touch $@
-
 include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/generateVts.cpp b/generateVts.cpp
index 1a56c1b..8ab5427 100644
--- a/generateVts.cpp
+++ b/generateVts.cpp
@@ -46,6 +46,10 @@
     }
     // Next, generate vts type declaration for the current AST.
     for (const auto &type : mRootScope->getSubTypes()) {
+        // Skip for TypeDef as it is just an alias of a defined type.
+        if (type->isTypeDef()) {
+            continue;
+        }
         out << "attribute: {\n";
         out.indent();
         status_t status = type->emitVtsTypeDeclarations(out);
diff --git a/test/Android.mk b/test/Android.mk
index 7cee786..f753ac8 100644
--- a/test/Android.mk
+++ b/test/Android.mk
@@ -29,3 +29,22 @@
 LOCAL_CFLAGS := -O0 -g
 
 include $(BUILD_EXECUTABLE)
+
+# build for hidl_gen_test which verify hidl_gen generates expected output codes.
+include $(CLEAR_VARS)
+LOCAL_MODULE := hidl_gen_test
+LOCAL_MODULE_CLASS := FAKE
+LOCAL_IS_HOST_MODULE := true
+
+include $(BUILD_SYSTEM)/base_rules.mk
+
+the_py_script := $(LOCAL_PATH)/test_output.py
+$(LOCAL_BUILT_MODULE): PRIVATE_PY_SCRIPT := $(the_py_script)
+$(LOCAL_BUILT_MODULE): PRIVATE_OUT_DIR := $(LOCAL_PATH)/test_out
+$(LOCAL_BUILT_MODULE): PRIVATE_CANONICAL_DIR := $(LOCAL_PATH)/data
+$(LOCAL_BUILT_MODULE): PRIVATE_HIDL_EXEC := $(HOST_OUT_EXECUTABLES)/hidl-gen
+$(LOCAL_BUILT_MODULE): PRIVATE_PACKAGE_ROOT := android.hardware:$(TOP)/hardware/interfaces
+$(LOCAL_BUILT_MODULE): $(the_py_script) $(HOST_OUT_EXECUTABLES)/hidl-gen
+	@echo "host Test: $(PRIVATE_MODULE)"
+	$(hide) python $(PRIVATE_PY_SCRIPT) $(PRIVATE_HIDL_EXEC) $(PRIVATE_CANONICAL_DIR) $(PRIVATE_OUT_DIR) $(PRIVATE_PACKAGE_ROOT)
+	$(hide) touch $@
\ No newline at end of file