comparison src/tests.c @ 4990:8f0cf4fd3d2c

Automatic merge
author Ben Wing <ben@xemacs.org>
date Sat, 06 Feb 2010 04:01:46 -0600
parents 16112448d484
children ae48681c47fa
comparison
equal deleted inserted replaced
4989:d2ec55325515 4990:8f0cf4fd3d2c
146 #define DFC_INITIALIZE(test_name) if (0) 146 #define DFC_INITIALIZE(test_name) if (0)
147 147
148 #define DFC_CHECK_LENGTH(len1,len2,str1) \ 148 #define DFC_CHECK_LENGTH(len1,len2,str1) \
149 else if ((len1) != (len2)) \ 149 else if ((len1) != (len2)) \
150 conversion_result = \ 150 conversion_result = \
151 Fcons (list3 (build_string(str1), Qnil, build_string("wrong length")), \ 151 Fcons (list3 (build_cistring(str1), Qnil, build_ascstring("wrong length")), \
152 conversion_result) 152 conversion_result)
153 153
154 #define DFC_CHECK_CONTENT(str1,str2,len1,str3) \ 154 #define DFC_CHECK_CONTENT(str1,str2,len1,str3) \
155 else if (memcmp (str1, str2, len1)) \ 155 else if (memcmp (str1, str2, len1)) \
156 conversion_result = \ 156 conversion_result = \
157 Fcons (list3 (build_string(str3), Qnil, \ 157 Fcons (list3 (build_cistring(str3), Qnil, \
158 build_string("octet comparison failed")), \ 158 build_ascstring("octet comparison failed")), \
159 conversion_result) 159 conversion_result)
160 160
161 #define DFC_RESULT_PASS(str1) \ 161 #define DFC_RESULT_PASS(str1) \
162 else \ 162 else \
163 conversion_result = \ 163 conversion_result = \
164 Fcons (list3 (build_string(str1), Qt, Qnil), \ 164 Fcons (list3 (build_cistring(str1), Qt, Qnil), \
165 conversion_result) 165 conversion_result)
166 166
167 #ifdef MULE 167 #ifdef MULE
168 ptr = NULL, len = rand(); 168 ptr = NULL, len = rand();
169 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)), 169 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)),
189 ptr = NULL, len = rand(); 189 ptr = NULL, len = rand();
190 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1), 190 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1),
191 MALLOC, (ptr, len), 191 MALLOC, (ptr, len),
192 intern ("iso-8859-2")); 192 intern ("iso-8859-2"));
193 DFC_CHECK_DATA (ptr, len, ext_latin, "Latin-2 DATA, MALLOC, Latin-2"); 193 DFC_CHECK_DATA (ptr, len, ext_latin, "Latin-2 DATA, MALLOC, Latin-2");
194 xfree (ptr, void *); 194 xfree (ptr);
195 195
196 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1), 196 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2) - 1),
197 LISP_OPAQUE, opaque, 197 LISP_OPAQUE, opaque,
198 intern ("iso-8859-2")); 198 intern ("iso-8859-2"));
199 DFC_CHECK_DATA (XOPAQUE_DATA (opaque), XOPAQUE_SIZE (opaque), ext_latin, 199 DFC_CHECK_DATA (XOPAQUE_DATA (opaque), XOPAQUE_SIZE (opaque), ext_latin,
210 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), 210 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
211 MALLOC, (ptr, len), 211 MALLOC, (ptr, len),
212 intern ("iso-latin-2-with-esc")); 212 intern ("iso-latin-2-with-esc"));
213 DFC_CHECK_DATA (ptr, len, int_latin2, 213 DFC_CHECK_DATA (ptr, len, int_latin2,
214 "Latin-2/ESC, MALLOC, Latin-1 DATA"); 214 "Latin-2/ESC, MALLOC, Latin-1 DATA");
215 xfree (ptr, void *); 215 xfree (ptr);
216 216
217 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), 217 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
218 LISP_STRING, string, 218 LISP_STRING, string,
219 intern ("iso-latin-2-with-esc")); 219 intern ("iso-latin-2-with-esc"));
220 DFC_CHECK_DATA (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2, 220 DFC_CHECK_DATA (XSTRING_DATA (string), XSTRING_LENGTH (string), int_latin2,
307 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), 307 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
308 MALLOC, (ptr, len), 308 MALLOC, (ptr, len),
309 Qbinary); 309 Qbinary);
310 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, 310 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
311 "Latin-1 DATA, MALLOC, binary"); 311 "Latin-1 DATA, MALLOC, binary");
312 xfree (ptr, void *); 312 xfree (ptr);
313 313
314 ptr = NULL, len = rand(); 314 ptr = NULL, len = rand();
315 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)), 315 TO_EXTERNAL_FORMAT (DATA, (int_latin2, sizeof (int_latin2)),
316 MALLOC, (ptr, len), 316 MALLOC, (ptr, len),
317 Qbinary); 317 Qbinary);
318 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, ext_tilde, int_latin2, 318 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, ext_tilde, int_latin2,
319 "Latin-2 DATA, MALLOC, binary/NUL"); 319 "Latin-2 DATA, MALLOC, binary/NUL");
320 xfree (ptr, void *); 320 xfree (ptr);
321 321
322 ptr = NULL, len = rand(); 322 ptr = NULL, len = rand();
323 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), 323 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
324 MALLOC, (ptr, len), 324 MALLOC, (ptr, len),
325 intern ("iso-8859-1")); 325 intern ("iso-8859-1"));
326 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1, 326 DFC_CHECK_DATA_COND_MULE (ptr, len, ext_latin, int_latin1,
327 "Latin-1 DATA, MALLOC, Latin-1"); 327 "Latin-1 DATA, MALLOC, Latin-1");
328 xfree (ptr, void *); 328 xfree (ptr);
329 329
330 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1), 330 TO_EXTERNAL_FORMAT (DATA, (int_latin1, sizeof (int_latin1) - 1),
331 LISP_OPAQUE, opaque, 331 LISP_OPAQUE, opaque,
332 Qbinary); 332 Qbinary);
333 DFC_CHECK_DATA_COND_MULE (XOPAQUE_DATA (opaque), 333 DFC_CHECK_DATA_COND_MULE (XOPAQUE_DATA (opaque),
366 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)), 366 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)),
367 MALLOC, (ptr, len), 367 MALLOC, (ptr, len),
368 intern ("iso-8859-1")); 368 intern ("iso-8859-1"));
369 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin, 369 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin,
370 "Latin-1 DATA, MALLOC, Latin-1"); 370 "Latin-1 DATA, MALLOC, Latin-1");
371 xfree (ptr, void *); 371 xfree (ptr);
372 372
373 ptr = NULL, len = rand(); 373 ptr = NULL, len = rand();
374 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)), 374 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin)),
375 MALLOC, (ptr, len), 375 MALLOC, (ptr, len),
376 Qnil); 376 Qnil);
377 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin, 377 DFC_CHECK_DATA_COND_MULE_NUL (ptr, len, int_latin1, ext_latin,
378 "Latin-1 DATA, MALLOC, nil"); 378 "Latin-1 DATA, MALLOC, nil");
379 xfree (ptr, void *); 379 xfree (ptr);
380 380
381 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1), 381 TO_INTERNAL_FORMAT (DATA, (ext_latin, sizeof (ext_latin) - 1),
382 LISP_STRING, string, 382 LISP_STRING, string,
383 intern ("iso-8859-1")); 383 intern ("iso-8859-1"));
384 DFC_CHECK_DATA_COND_MULE (XSTRING_DATA (string), 384 DFC_CHECK_DATA_COND_MULE (XSTRING_DATA (string),
405 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo)), 405 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo)),
406 MALLOC, (ptr, len), 406 MALLOC, (ptr, len),
407 Qbinary); 407 Qbinary);
408 DFC_CHECK_DATA_NUL (ptr, len, ext_unix, 408 DFC_CHECK_DATA_NUL (ptr, len, ext_unix,
409 "ASCII DATA, MALLOC, binary/LF/NUL"); 409 "ASCII DATA, MALLOC, binary/LF/NUL");
410 xfree (ptr, void *); 410 xfree (ptr);
411 411
412 ptr = NULL, len = rand(); 412 ptr = NULL, len = rand();
413 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1), 413 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1),
414 LISP_OPAQUE, opaque, 414 LISP_OPAQUE, opaque,
415 intern ("raw-text-mac")); 415 intern ("raw-text-mac"));
431 ptr = NULL, len = rand(); 431 ptr = NULL, len = rand();
432 TO_EXTERNAL_FORMAT (LISP_STRING, string_foo, 432 TO_EXTERNAL_FORMAT (LISP_STRING, string_foo,
433 MALLOC, (ptr, len), 433 MALLOC, (ptr, len),
434 intern ("no-conversion-mac")); 434 intern ("no-conversion-mac"));
435 DFC_CHECK_DATA (ptr, len, ext_mac, "ASCII Lisp string, MALLOC, binary/CR"); 435 DFC_CHECK_DATA (ptr, len, ext_mac, "ASCII Lisp string, MALLOC, binary/CR");
436 xfree (ptr, void *); 436 xfree (ptr);
437 437
438 ptr = NULL, len = rand(); 438 ptr = NULL, len = rand();
439 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1), 439 TO_EXTERNAL_FORMAT (DATA, (int_foo, sizeof (int_foo) - 1),
440 ALLOCA, (ptr, len), 440 ALLOCA, (ptr, len),
441 intern ("no-conversion-dos")); 441 intern ("no-conversion-dos"));
605 Fputhash (make_int (3), make_int (4), data.hash_table); 605 Fputhash (make_int (3), make_int (4), data.hash_table);
606 606
607 data.sum = 0; 607 data.sum = 0;
608 elisp_maphash_unsafe (test_hash_tables_mapper, 608 elisp_maphash_unsafe (test_hash_tables_mapper,
609 data.hash_table, (void *) &data); 609 data.hash_table, (void *) &data);
610 hash_result = Fcons (list3 (build_string ("simple mapper"), 610 hash_result = Fcons (list3 (build_ascstring ("simple mapper"),
611 (data.sum == 2 + 4) ? Qt : Qnil, 611 (data.sum == 2 + 4) ? Qt : Qnil,
612 build_string ("sum != 2 + 4")), 612 build_ascstring ("sum != 2 + 4")),
613 hash_result); 613 hash_result);
614 614
615 data.sum = 0; 615 data.sum = 0;
616 elisp_maphash (test_hash_tables_modifying_mapper, 616 elisp_maphash (test_hash_tables_modifying_mapper,
617 data.hash_table, (void *) &data); 617 data.hash_table, (void *) &data);
618 hash_result = Fcons (list3 (build_string ("modifying mapper"), 618 hash_result = Fcons (list3 (build_ascstring ("modifying mapper"),
619 (data.sum == 2 + 4) ? Qt : Qnil, 619 (data.sum == 2 + 4) ? Qt : Qnil,
620 build_string ("sum != 2 + 4")), 620 build_ascstring ("sum != 2 + 4")),
621 hash_result); 621 hash_result);
622 622
623 /* hash table now contains: (1, 2) (3, 4) (-1, 2*2) (-3, 2*4) */ 623 /* hash table now contains: (1, 2) (3, 4) (-1, 2*2) (-3, 2*4) */
624 624
625 data.sum = 0; 625 data.sum = 0;
626 elisp_maphash_unsafe (test_hash_tables_mapper, 626 elisp_maphash_unsafe (test_hash_tables_mapper,
627 data.hash_table, (void *) &data); 627 data.hash_table, (void *) &data);
628 hash_result = Fcons (list3 (build_string ("simple mapper"), 628 hash_result = Fcons (list3 (build_ascstring ("simple mapper"),
629 (data.sum == 3 * (2 + 4)) ? Qt : Qnil, 629 (data.sum == 3 * (2 + 4)) ? Qt : Qnil,
630 build_string ("sum != 3 * (2 + 4)")), 630 build_ascstring ("sum != 3 * (2 + 4)")),
631 hash_result); 631 hash_result);
632 632
633 /* Remove entries with negative keys, added by modifying mapper */ 633 /* Remove entries with negative keys, added by modifying mapper */
634 elisp_map_remhash (test_hash_tables_predicate, 634 elisp_map_remhash (test_hash_tables_predicate,
635 data.hash_table, 0); 635 data.hash_table, 0);
636 636
637 data.sum = 0; 637 data.sum = 0;
638 elisp_maphash_unsafe (test_hash_tables_mapper, 638 elisp_maphash_unsafe (test_hash_tables_mapper,
639 data.hash_table, (void *) &data); 639 data.hash_table, (void *) &data);
640 hash_result = Fcons (list3 (build_string ("remove negatives mapper"), 640 hash_result = Fcons (list3 (build_ascstring ("remove negatives mapper"),
641 (data.sum == 2 + 4) ? Qt : Qnil, 641 (data.sum == 2 + 4) ? Qt : Qnil,
642 build_string ("sum != 2 + 4")), 642 build_ascstring ("sum != 2 + 4")),
643 hash_result); 643 hash_result);
644 644
645 return hash_result; 645 return hash_result;
646 } 646 }
647 647