run the unit test, coverage test, functional test when the change
includes postfix py change. could add yaml/yml to run yamlint
JIRA: YARDSTICK-1598
Change-Id: I7d9199ec20575fc91cf0f38d84a05b02d63e316c
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
     fi
 }
 
-if [[ $opts =~ "--unit" ]]; then
-    run_tests
-fi
+# get file types of the last change on git
+file_types=$(git diff-tree -r --name-only HEAD~1 HEAD | awk -F[/] '{print $NF}' | awk -F[.] 'NF>1 {print $NF}' | uniq)
 
-if [[ $opts =~ "--coverage" ]]; then
-    run_coverage
-fi
+if [[ $file_types =~ "py" ]]; then
+    if [[ $opts =~ "--unit" ]]; then
+        run_tests
+    fi
 
-if [[ $opts =~ "--functional" ]]; then
-    run_functional_test
+    if [[ $opts =~ "--coverage" ]]; then
+        run_coverage
+    fi
+
+    if [[ $opts =~ "--functional" ]]; then
+        run_functional_test
+    fi
 fi
 
 if [[ -z $opts ]]; then