2
2
3
3
set -e
4
4
default_tag=v3.1.1
5
+
6
+ rare_str_range_names=(" CJKUnifiedIdeographs" " CJKCompatibilityIdeographs" " CJKCompatibilityIdeographsSupplement" " KangxiRadicals" " CJKRadicalsSupplement" " IdeographicDescriptionCharacters" " Bopomofo" " BopomofoExtended" " CJKStrokes" " CJKSymbolsandPunctuation" " CJKCompatibilityForms" " CJKCompatibility" " EnclosedCJKLettersandMonths" " CJKUnifiedIdeographsExtensionA" " CJKUnifiedIdeographsExtensionB" " CJKUnifiedIdeographsExtensionC" " CJKUnifiedIdeographsExtensionD" " CJKUnifiedIdeographsExtensionE" " CJKUnifiedIdeographsExtensionF" )
7
+ rare_str_range_values=(" 19968,40959" " 63744,64255" " 194560,195103" " 12032,12255" " 11904,12031" " 12272,12287" " 12544,12591" " 12704,12735" " 12736,12783" " 12288,12351" " 65072,65103" " 13056,13311" " 12800,13055" " 13312,19903" " 131072,173791" " 173824,177977" " 177984,178205" " 178208,183969" " 183984,191456" )
8
+
5
9
LOG_INFO () {
6
- local content=${1}
7
- echo -e " \033[32m ${content} \033[0m"
10
+ local content=${1}
11
+ echo -e " \033[32m ${content} \033[0m"
8
12
}
9
13
10
- get_sed_cmd ()
11
- {
14
+ get_sed_cmd () {
12
15
local sed_cmd=" sed -i"
13
- if [ " $( uname) " == " Darwin" ]; then
14
- sed_cmd=" sed -i .bkp"
16
+ if [ " $( uname) " == " Darwin" ]; then
17
+ sed_cmd=" sed -i .bkp"
15
18
fi
16
19
echo " $sed_cmd "
17
20
}
18
21
19
- download_build_chain ()
20
- {
22
+ download_rare_string_jar () {
23
+ LOG_INFO " ----- Downloading get-rare-string-with-unicode.jar -------"
24
+ curl -LO " https://github.com/FISCO-BCOS/LargeFiles/raw/master/binaries/jar/get-rare-string-with-unicode.jar"
25
+ }
26
+
27
+ download_build_chain () {
21
28
tag=$( curl -sS " https://gitee.com/api/v5/repos/FISCO-BCOS/FISCO-BCOS/tags" | grep -oe " \" name\" :\" v[2-9]*\.[0-9]*\.[0-9]*\" " | cut -d \" -f 4 | sort -V | tail -n 1)
22
29
LOG_INFO " --- current tag: $tag "
23
30
if [[ -z ${tag} ]]; then
@@ -27,8 +34,7 @@ download_build_chain()
27
34
curl -#LO " https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/${tag} /build_chain.sh" && chmod u+x build_chain.sh
28
35
}
29
36
30
- prepare_environment ()
31
- {
37
+ prepare_environment () {
32
38
# # prepare resources for integration test
33
39
pwd
34
40
ls -a
@@ -37,53 +43,100 @@ prepare_environment()
37
43
cp -r nodes/127.0.0.1/sdk/* ./src/integration-test/resources/conf
38
44
cp ./src/integration-test/resources/config-example.toml ./src/integration-test/resources/config.toml
39
45
cp -r ./src/main/resources/contract ./contracts
40
- if [ " ${node_type} " == " sm" ]; then
41
- sed_cmd=$( get_sed_cmd)
42
- $sed_cmd ' s/useSMCrypto = "false"/useSMCrypto = "true"/g' ./src/integration-test/resources/config.toml
46
+ if [ " ${node_type} " == " sm" ]; then
47
+ sed_cmd=$( get_sed_cmd)
48
+ $sed_cmd ' s/useSMCrypto = "false"/useSMCrypto = "true"/g' ./src/integration-test/resources/config.toml
43
49
fi
44
50
}
45
51
46
- build_node ()
47
- {
52
+ build_node () {
48
53
local node_type=" ${1} "
49
- if [ " ${node_type} " == " sm" ]; then
50
- bash -x build_chain.sh -l 127.0.0.1:4 -s
51
- sed_cmd=$( get_sed_cmd)
52
- $sed_cmd ' s/sm_crypto_channel=false/sm_crypto_channel=true/g' nodes/127.0.0.1/node* /config.ini
54
+ if [ " ${node_type} " == " sm" ]; then
55
+ bash -x build_chain.sh -l 127.0.0.1:4 -s
56
+ sed_cmd=$( get_sed_cmd)
57
+ $sed_cmd ' s/sm_crypto_channel=false/sm_crypto_channel=true/g' nodes/127.0.0.1/node* /config.ini
53
58
else
54
- bash -x build_chain.sh -l 127.0.0.1:4
59
+ bash -x build_chain.sh -l 127.0.0.1:4
55
60
fi
56
61
./nodes/127.0.0.1/fisco-bcos -v
57
62
./nodes/127.0.0.1/start_all.sh
58
63
}
59
64
60
- check_standard_node ()
61
- {
65
+ check_standard_node () {
62
66
build_node
63
67
prepare_environment
64
- # # run integration test
68
+ # run integration test
65
69
bash gradlew test --info
66
70
bash gradlew integrationTest --info
71
+
72
+ LOG_INFO " ------ standard_node check_rare_string---------"
73
+ check_rare_string
67
74
}
68
75
69
- check_sm_node ()
70
- {
76
+ check_sm_node () {
71
77
build_node sm
72
78
prepare_environment sm
73
- # # run integration test
79
+ # run integration test
74
80
bash gradlew test --info
75
81
bash gradlew integrationTest --info
82
+
83
+ LOG_INFO " ------ sm_node check_rare_string---------"
84
+ check_rare_string
85
+ }
86
+
87
+ check_basic () {
88
+ # check code format
89
+ bash gradlew verifyGoogleJavaFormat
90
+ # build
91
+ bash gradlew build
92
+ # test
93
+ bash gradlew test
94
+ bash gradlew integrationTest --info
76
95
}
77
96
78
- check_basic ()
79
- {
80
- # check code format
81
- bash gradlew verifyGoogleJavaFormat
82
- # build
83
- bash gradlew build
84
- # test
85
- bash gradlew test
86
- bash gradlew integrationTest --info
97
+ getRangeValues () {
98
+ local rangeValue=$1
99
+ IFS=' ,' read -r startValue endValue <<< " $rangeValue"
100
+
101
+ echo " $startValue $endValue "
102
+ }
103
+
104
+ getConcatenatedRareStringWithRange () {
105
+ local startUnicode=${1}
106
+ local endUnicode=${2}
107
+
108
+ # concatenate strings with begin middle end
109
+ local concatenatedString=$( java -cp ' ./get-rare-string-with-unicode.jar' org.example.Main ${startUnicode} )
110
+ local midUnicode=$(( ($startUnicode + $endUnicode ) / 2 ))
111
+ for (( i = midUnicode; i <= midUnicode + 5 ; i++ )) ; do
112
+ local currentRareString=$( java -cp ' ./get-rare-string-with-unicode.jar' org.example.Main ${i} )
113
+ concatenatedString+=" $currentRareString "
114
+ done
115
+ local endRareString=$( java -cp ' ./get-rare-string-with-unicode.jar' org.example.Main ${endUnicode} )
116
+ concatenatedString+=" $endRareString "
117
+ echo " $concatenatedString "
118
+ }
119
+
120
+ check_rare_string () {
121
+ download_rare_string_jar
122
+ bash gradlew assemble
123
+ cp ./src/integration-test/resources/config.toml ./dist/conf/config.toml
124
+ cp -r ./nodes/127.0.0.1/sdk/* ./dist/conf/
125
+ export LC_ALL=en_US.UTF-8
126
+ export LANG=en_US.UTF-8
127
+ export LANGUAGE=en_US.UTF-8
128
+
129
+ finalConcatenatedInputString=" "
130
+ for (( i = 0 ; i < ${# rare_str_range_names[@]} ; i++ )) ; do
131
+ rangeName=" ${rare_str_range_names[$i]} "
132
+ rangeValue=" ${rare_str_range_values[$i]} "
133
+
134
+ read -r startValue endValue <<< $( getRangeValues " $rangeValue " )
135
+ concatenatedString=$( getConcatenatedRareStringWithRange $startValue $endValue )
136
+ finalConcatenatedInputString+=" $concatenatedString "
137
+ done
138
+
139
+ bash -x .ci/check_rare_string.sh ${finalConcatenatedInputString}
87
140
}
88
141
89
142
# cp src/integration-test/resources/config-example.toml src/integration-test/resources/config.toml
0 commit comments