Skip to content

Commit 01b2bf7

Browse files
authored
refactor: migrate some code to sub package (#2393)
* chore: migrate service dirs to tenecntcloud/services * refactor: add some generic definitions to the package tencentcloud/common * refactor: add some generic definitions to the package tencentcloud/acctest * refactor: add some generic definitions to the package tencentcloud/common * refactor: migrate package tencentcloud/services/antiddos * refactor: migrate package tencentcloud/services/apm * refactor: migrate package tencentcloud/services/bh * refactor: migrate package tencentcloud/services/bi * chore: fix scripts/delta-test.sh
1 parent 7963374 commit 01b2bf7

File tree

1,714 files changed

+7508
-699
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,714 files changed

+7508
-699
lines changed

gendoc/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func genDoc(product, dtype, fpath, name string, resource *schema.Resource) {
142142
productDir = "common"
143143
}
144144

145-
filename := fmt.Sprintf("%s/%s_%s_%s.md", productDir, dtype, cloudMarkShort, data["resource"])
145+
filename := fmt.Sprintf("services/%s/%s_%s_%s.md", productDir, dtype, cloudMarkShort, data["resource"])
146146
message("[START]get description from file: %s\n", filename)
147147

148148
raw, err := os.ReadFile(filepath.Join(fpath, filename))

scripts/delta-test.sh

Lines changed: 49 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,53 @@
11
#!/bin/bash
22

3-
range_sha=${BASE_SHA}
4-
echo $(git diff --name-status ${range_sha} | awk '{print $2}')
5-
#service files
6-
update_service_functions=""
7-
service_files=`git diff --name-status ${range_sha} | awk '{print $2}' | grep "^tencentcloud/service*"`
8-
if [ $service_files ] ; then
9-
update_service_functions=`echo $service_files | xargs git diff ${range_sha} | grep "@@" | grep "func" | awk -F ")" '{print $2}' | awk -F "(" '{print $1}' | tr -d ' '`
10-
fi
11-
echo "update_service_functions: $update_service_functions"
12-
need_test_files=""
13-
for update_service_function in $update_service_functions; do
14-
tmp_files=`grep -r --with-filename $update_service_function ./tencentcloud | awk -F ":" '{print $1}' | grep -v "service_tencent*" | awk -F "/" '{print $3}' | sort | uniq | egrep "^resource_tc_|^data_source_tc" | awk -F "." '{print $1}' | awk '/_test$/{print "tencentcloud/"$0".go"} !/_test$/{print "tencentcloud/"$0"_test.go"}'`
15-
need_test_files="$need_test_files $tmp_files"
3+
range_sha="${BASE_SHA}"
4+
5+
# changed files
6+
changed_files="$(git diff --name-only "${range_sha}" | grep -E '\.go$')"
7+
echo "Changed Files: ${changed_files}"
8+
9+
# changed test files
10+
changed_test_files="$(echo "${changed_files}" | grep -E "_test\.go$")"
11+
echo "Changed test files: ${changed_test_files}"
12+
13+
# test files for changed service
14+
changed_service_files="$(echo "${changed_files}" | grep -E "^tencentcloud/(services/[^/]+/)?service_")"
15+
changed_services_test_files=""
16+
for service_file in ${changed_service_files}; do
17+
service_file_dir="$(dirname "${service_file}")"
18+
service_funcs="$(git diff "${range_sha}" "${service_file}" | grep -E "^.func " | awk -F ")" '{print $2}' | awk -F "(" '{print $1}' | tr -d ' ')"
19+
for func in ${service_funcs}; do
20+
files_using_func="$(grep -r --with-filename "${func}" "$service_file_dir" | awk -F ":" '{print $1}' | grep -E "^tencentcloud/(services/[^/]+/)?(resource_tc|data_source_tc)" | sort | uniq)"
21+
if [[ "${files_using_func}" == "" ]]; then
22+
continue
23+
fi
24+
files_using_func_test_files="$(echo "${files_using_func}" | awk -F "." '{print $1"_test.go"}')"
25+
changed_services_test_files="${changed_services_test_files} ${files_using_func_test_files}"
26+
done
1627
done
17-
echo "need_test_files: $need_test_files"
18-
19-
# resource&&data_source files
20-
update_sources=`git diff --name-status ${range_sha}| awk '{print $2}' | egrep "^tencentcloud/resource_tc|^tencentcloud/data_source" | egrep -v "_test.go" | awk -F "." '{print $1"_test.go"}'`
21-
echo "update_sources: $update_sources"
22-
# test files
23-
delta_test_files=`git diff --name-status ${range_sha} | egrep "_test\.go$" | awk '{print $2}'`
24-
echo "delta_test_files: $delta_test_files"
25-
# all test files
26-
delta_test_files="$delta_test_files $need_test_files $update_sources"
27-
delta_test_files=`echo $delta_test_files | xargs -n1 | sort | uniq`
28-
echo "all delta_test_files: $delta_test_files"
29-
for delta_test_file in ${delta_test_files}; do
30-
test_casts=`egrep "func TestAcc.+\(" ${delta_test_file} | awk -F "(" '{print $1}' | awk '{print $2}' | grep -v "NeedFix"`
31-
echo "[$delta_test_file] \n$test_casts"
32-
for test_cast in ${test_casts}; do
33-
go_test_cmd="go test -v -run ${test_cast} -timeout=0 ./tencentcloud/"
34-
$go_test_cmd
35-
if [ $? -ne 0 ]; then
36-
printf "[GO TEST FILED] ${go_test_cmd}"
37-
exit 1
38-
fi
39-
done
28+
echo "Test files for changed service functions: ${changed_services_test_files}"
29+
30+
# test files for changed resource and datasource
31+
changed_sources_test_files="$(echo "${changed_files}" | grep -E "^tencentcloud/(services/[^/]+/)?(resource_tc|data_source_tc)" | grep -Ev "_test.go" | awk -F "." '{print $1"_test.go"}')"
32+
echo "Test files for changed resource and datasource: ${changed_sources_test_files}"
33+
34+
# all need run test files
35+
need_run_test_files="${changed_test_files} ${changed_services_test_files} ${changed_sources_test_files}"
36+
need_run_test_files="$(echo "${need_run_test_files}" | xargs -n1 | sort | uniq)"
37+
echo "All need run test files: ${need_run_test_files}"
38+
39+
# run test
40+
for test_file in ${need_run_test_files}; do
41+
test_file_dir="$(dirname "$test_file")"
42+
test_casts="$(grep -E "func TestAcc.+\(" "${test_file}" | awk -F "(" '{print $1}' | awk '{print $2}' | grep -v "NeedFix")"
43+
printf "[%s]\n%s\n" "${test_file}" "${test_casts}"
44+
45+
for test_cast in ${test_casts}; do
46+
go_test_cmd="go test -v -run ${test_cast} -timeout=0 ./${test_file_dir}/"
47+
$go_test_cmd
48+
if ! $go_test_cmd; then
49+
printf "[GO TEST FAILED] %s\n" "${go_test_cmd}"
50+
exit 1
51+
fi
52+
done
4053
done

0 commit comments

Comments
 (0)