@@ -37,7 +37,7 @@ public void testUpload() {
3737 public void run () {
3838
3939 try {
40- template ((i_p + 1 ), new CompleteHandler () {
40+ template ((i_p + 1 ), true , new CompleteHandler () {
4141 @ Override
4242 public void complete (boolean isSuccess ) {
4343
@@ -77,20 +77,85 @@ public boolean shouldWait() {
7777 assertTrue ((param .completeCount == param .successCount ));
7878 }
7979
80- private void template (int size , final CompleteHandler completeHandler ) throws Throwable {
80+ public void testUploadError (){
81+ final TestParam param = new TestParam ();
82+ param .count = 10 ;
83+
84+ for (int i = 0 ; i < param .count ; i ++) {
85+
86+ final int i_p = i ;
87+
88+ new Thread (new Runnable () {
89+ @ Override
90+ public void run () {
91+
92+ try {
93+ template ((i_p + 1 ), false , new CompleteHandler () {
94+ @ Override
95+ public void complete (boolean isSuccess ) {
96+
97+ synchronized (this ){
98+ if (isSuccess ){
99+ param .successCount += 1 ;
100+ }
101+ param .completeCount += 1 ;
102+ }
103+
104+ }
105+ });
106+ } catch (Throwable ignored ) {
107+ }
108+
109+ }
110+ }).start ();
111+
112+ try {
113+ Thread .sleep (2000 );
114+ } catch (InterruptedException e ) {
115+ e .printStackTrace ();
116+ }
117+ }
118+
119+ wait (new WaitConditional () {
120+ @ Override
121+ public boolean shouldWait () {
122+ if (param .completeCount != param .count ){
123+ return true ;
124+ } else {
125+ return false ;
126+ }
127+ }
128+ }, 600 * 10 );
129+
130+ assertTrue ((param .successCount == 0 ));
131+ }
132+
133+ private void template (int size , boolean hasValidHost , final CompleteHandler completeHandler ) throws Throwable {
81134
82135 final WaitCondition waitCondition = new WaitCondition ();
83136
84137 final String expectKey = "android-retry-" + size + "k" ;
85138 final File f = TempFile .createFile (size );
86- String [] s = new String []{"uptemp01.qbox.me" , "uptemp02.qbox.me" ,
87- "uptemp03.qbox.me" , "uptemp04.qbox.me" ,
88- "uptemp05.qbox.me" , "uptemp06.qbox.me" ,
89- "uptemp07.qbox.me" , "uptemp08.qbox.me" ,
90- "uptemp09.qbox.me" , "uptemp10.qbox.me" ,
91- "uptemp11.qbox.me" , "uptemp12.qbox.me" ,
92- "uptemp13.qbox.me" , "uptemp14.qbox.me" ,
93- "upload.qiniup.com" };
139+ String [] s = null ;
140+ if (hasValidHost ){
141+ s = new String []{"uptemp01.qbox.me" , "uptemp02.qbox.me" ,
142+ "uptemp03.qbox.me" , "uptemp04.qbox.me" ,
143+ "uptemp05.qbox.me" , "uptemp06.qbox.me" ,
144+ "uptemp07.qbox.me" , "uptemp08.qbox.me" ,
145+ "uptemp09.qbox.me" , "uptemp10.qbox.me" ,
146+ "uptemp11.qbox.me" , "uptemp12.qbox.me" ,
147+ "uptemp13.qbox.me" , "uptemp14.qbox.me" ,
148+ "upload.qiniup.com" };
149+ } else {
150+ s = new String []{"uptemp01.qbox.me" , "uptemp02.qbox.me" ,
151+ "uptemp03.qbox.me" , "uptemp04.qbox.me" ,
152+ "uptemp05.qbox.me" , "uptemp06.qbox.me" ,
153+ "uptemp07.qbox.me" , "uptemp08.qbox.me" ,
154+ "uptemp09.qbox.me" , "uptemp10.qbox.me" ,
155+ "uptemp11.qbox.me" , "uptemp12.qbox.me" ,
156+ "uptemp13.qbox.me" , "uptemp14.qbox.me" };
157+ }
158+
94159 Zone z = new FixedZone (s );
95160 Configuration c = new Configuration .Builder ()
96161 .zone (z ).useHttps (true ).useConcurrentResumeUpload (false )
0 commit comments