diff --git a/scripts/external-tests.pd b/scripts/external-tests.pd index fc4d23392e61eb011eee0d0e731050196935915d..b9c6b358ef69ce5d4bd92e98905e63944068a4d5 100644 --- a/scripts/external-tests.pd +++ b/scripts/external-tests.pd @@ -1,4 +1,4 @@ -#N canvas 162 25 751 671 12; +#N canvas 104 25 751 671 12; #X msg 513 70 bang; #N canvas 273 114 533 496 get_extensions 0; #X obj 17 44 inlet; @@ -176,7 +176,7 @@ #X obj 77 285 t a b a b; #N canvas 443 86 450 557 get-creator-names 0; #X obj 41 22 inlet; -#X obj 51 316 outlet; +#X obj 51 356 outlet; #X obj 141 54 r \$0-last-objectmaker-methodspace-length; #X obj 100 167 -; #X obj 41 107 classinfo objectmaker; @@ -187,6 +187,9 @@ #X obj 51 284 classinfo objectmaker; #X obj 151 181 t a; #X obj 41 47 bang; +#X obj 51 309 t a a; +#X obj 140 355 print testing; +#X msg 123 329 \$1; #X connect 0 0 11 0; #X connect 2 0 3 1; #X connect 2 0 10 0; @@ -197,11 +200,14 @@ #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 7 1; -#X connect 9 0 1 0; +#X connect 9 0 12 0; #X connect 10 0 7 1; #X connect 11 0 5 0; +#X connect 12 0 1 0; +#X connect 12 1 14 0; +#X connect 14 0 13 0; #X restore 77 686 pd get-creator-names; -#N canvas 227 231 450 346 test-object 0; +#N canvas 228 256 450 346 test-object 0; #X obj 86 36 inlet; #X text 132 34 creator_name argtype1 argtype2 etc.; #N canvas 150 78 649 452 right_outlet_for_aliases 0; @@ -241,7 +247,7 @@ test(s) by going to the right outlet.; #X connect 14 0 10 0; #X connect 15 0 11 0; #X restore 86 61 pd right_outlet_for_aliases; -#N canvas 181 94 522 576 namespace_collisions 0; +#N canvas 182 119 522 576 namespace_collisions 0; #X obj 40 15 inlet; #X obj 60 98 list split 1; #X obj 60 123 t b a; @@ -267,6 +273,7 @@ test(s) by going to the right outlet.; #X msg 70 431 \$1: externdir mismatch: expected \$2 but got \$3; #X obj 180 143 pack s s; #X obj 40 489 list; +#X obj 259 278 print externdir; #X connect 0 0 11 0; #X connect 1 0 2 0; #X connect 2 0 3 0; @@ -279,6 +286,7 @@ test(s) by going to the right outlet.; #X connect 8 0 10 1; #X connect 8 0 19 1; #X connect 9 0 21 0; +#X connect 9 0 25 0; #X connect 10 0 12 0; #X connect 10 1 13 0; #X connect 11 0 15 0; @@ -298,8 +306,8 @@ test(s) by going to the right outlet.; #X connect 22 0 18 0; #X connect 23 0 8 0; #X connect 24 0 17 0; -#X restore 86 101 pd namespace_collisions; -#N canvas 104 25 740 671 load_the_object 0; +#X restore 17 308 pd namespace_collisions; +#N canvas 3 25 740 694 load_the_object 0; #X obj 22 13 inlet; #X obj 86 115 list split 1; #N canvas 238 121 613 490 set_args 0; @@ -475,18 +483,109 @@ may be other oddities in external libs with regard to libdir prefixes. #X connect 26 0 21 0; #X connect 26 1 1 0; #X restore 86 156 pd load_the_object; -#X obj 272 101 t a; #N canvas 268 243 450 346 \$0-load_the_object_subpatch 0; #X restore 231 157 pd \$0-load_the_object_subpatch; #X msg 86 241 clear; #X obj 86 266 s pd-\$0-load_the_object_subpatch; -#X connect 0 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 5 0; +#N canvas 99 25 704 622 check_for_namespace_collisions 0; +#X obj 42 26 inlet; +#X obj 42 51 t a a; +#X obj 74 83 list split 1; +#X obj 74 215 f; +#X obj 114 215 + 1; +#X obj 74 149 until; +#X obj 74 283 classinfo objectmaker; +#X obj 74 321 route bang; +#X obj 9 182 bang; +#X obj 141 385 select; +#X obj 141 349 list split 1; +#X obj 74 108 trigger bang bang anything; +#X obj 163 149 f 0; +#N canvas 337 184 583 424 fail 0; +#X obj 106 16 inlet; +#X obj 334 56 r \$0-current-libdir-name; +#X obj 243 56 r \$0-libdir; +#X obj 204 101 symbol; +#X obj 270 100 symbol; +#X msg 204 161 symbol \$1/extra/\$2; +#X obj 204 136 pack s s; +#X obj 106 41 t a a b b; +#X obj 106 293 s \$0-fail; +#X obj 106 66 unpack f s; +#X obj 106 213 pack f s s s; +#X msg 106 248 \$3: \$2: externdir mismatch: expected \$4 but found +another objectmaker method at index \$1; +#X connect 0 0 7 0; +#X connect 1 0 4 1; +#X connect 2 0 3 1; +#X connect 2 0 10 2; +#X connect 3 0 6 0; +#X connect 4 0 6 1; +#X connect 5 0 10 3; +#X connect 6 0 5 0; +#X connect 7 0 9 0; +#X connect 7 2 3 0; +#X connect 7 3 4 0; +#X connect 9 0 10 0; +#X connect 9 1 10 1; +#X connect 10 0 11 0; +#X connect 11 0 8 0; +#X restore 141 590 pd fail; +#X obj 163 174 trigger anything anything; +#X obj 141 420 f; +#X obj 181 420 + 1; +#X obj 74 250 trigger anything anything; +#X obj 141 445 select 1 0; +#X obj 228 476 f; +#X obj 141 504 f; +#X obj 38 568 outlet; +#X obj 141 560 pack f s; +#X obj 344 337 r \$0-last-objectmaker-methodspace-length; +#X obj 141 532 moses; +#X text 264 475 Many libraries ship with backup abstractions that have +the same name as the binary library. We check for those here-- if the +nameclash is in the current library we're testing then we ignore it. +; +#X connect 0 0 1 0; +#X connect 1 0 21 0; +#X connect 1 1 2 0; +#X connect 2 0 11 0; #X connect 3 0 4 0; -#X connect 4 0 7 0; -#X connect 5 0 4 0; +#X connect 3 0 17 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; +#X connect 6 0 7 0; #X connect 7 0 8 0; +#X connect 7 1 10 0; +#X connect 8 0 5 1; +#X connect 9 0 15 0; +#X connect 10 0 9 0; +#X connect 11 0 5 0; +#X connect 11 1 12 0; +#X connect 11 2 9 1; +#X connect 11 2 22 1; +#X connect 12 0 14 0; +#X connect 14 0 3 1; +#X connect 14 1 15 1; +#X connect 15 0 16 0; +#X connect 15 0 18 0; +#X connect 16 0 15 1; +#X connect 17 0 6 0; +#X connect 17 1 19 1; +#X connect 18 0 20 0; +#X connect 18 1 19 0; +#X connect 19 0 20 1; +#X connect 20 0 24 0; +#X connect 22 0 13 0; +#X connect 23 0 24 1; +#X connect 24 0 22 0; +#X restore 86 104 pd check_for_namespace_collisions; +#X connect 0 0 2 0; +#X connect 2 0 8 0; +#X connect 2 1 8 0; +#X connect 4 0 6 0; +#X connect 6 0 7 0; +#X connect 8 0 4 0; #X restore 77 716 pd test-object; #X obj 249 340 classinfo objectmaker; #X msg 249 315 methods; @@ -501,7 +600,7 @@ may be other oddities in external libs with regard to libdir prefixes. #X obj 102 163 f; #X obj 102 188 + 1; #X msg 274 263 set; -#X msg 66 307 \$1 \,; +#X msg 66 307 \$1 \, \$2 \,; #X obj 66 263 list; #X msg 102 263 adddollar \$1 \, addcomma; #X msg 150 126 0; @@ -735,6 +834,7 @@ pmpd purepd rjlib rradical rtc sfruit sigmund~ stdout timestretch windowing #X connect 5 0 1 0; #X restore 57 164 pd libs_not_loaded_by_default; #X text 269 163 <- two libraries to go: tof and iem_tab; +#X obj 476 290 print next_library; #X connect 0 0 2 0; #X connect 1 0 4 0; #X connect 2 0 14 0; @@ -767,6 +867,7 @@ pmpd purepd rjlib rradical rtc sfruit sigmund~ stdout timestretch windowing #X connect 36 0 19 0; #X connect 36 1 35 0; #X connect 36 1 37 0; +#X connect 36 1 43 0; #X connect 37 0 38 0; #X connect 38 0 31 0; #X connect 39 0 28 0;